diff --git a/apps/api/src/app/info/info.module.ts b/apps/api/src/app/info/info.module.ts index d7a5ed641..9ded44600 100644 --- a/apps/api/src/app/info/info.module.ts +++ b/apps/api/src/app/info/info.module.ts @@ -1,5 +1,6 @@ import { PlatformModule } from '@ghostfolio/api/app/platform/platform.module'; import { RedisCacheModule } from '@ghostfolio/api/app/redis-cache/redis-cache.module'; +import { SubscriptionModule } from '@ghostfolio/api/app/subscription/subscription.module'; import { UserModule } from '@ghostfolio/api/app/user/user.module'; import { TransformDataSourceInResponseModule } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.module'; import { BenchmarkModule } from '@ghostfolio/api/services/benchmark/benchmark.module'; @@ -31,6 +32,7 @@ import { InfoService } from './info.service'; PlatformModule, PropertyModule, RedisCacheModule, + SubscriptionModule, SymbolProfileModule, TransformDataSourceInResponseModule, UserModule diff --git a/apps/api/src/app/info/info.service.ts b/apps/api/src/app/info/info.service.ts index d7e778694..9581807b9 100644 --- a/apps/api/src/app/info/info.service.ts +++ b/apps/api/src/app/info/info.service.ts @@ -1,5 +1,6 @@ import { PlatformService } from '@ghostfolio/api/app/platform/platform.service'; import { RedisCacheService } from '@ghostfolio/api/app/redis-cache/redis-cache.service'; +import { SubscriptionService } from '@ghostfolio/api/app/subscription/subscription.service'; import { UserService } from '@ghostfolio/api/app/user/user.service'; import { BenchmarkService } from '@ghostfolio/api/services/benchmark/benchmark.service'; import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; @@ -13,7 +14,6 @@ import { PROPERTY_DEMO_USER_ID, PROPERTY_IS_READ_ONLY_MODE, PROPERTY_SLACK_COMMUNITY_USERS, - PROPERTY_STRIPE_CONFIG, ghostfolioFearAndGreedIndexDataSource } from '@ghostfolio/common/config'; import { @@ -21,11 +21,7 @@ import { encodeDataSource, extractNumberFromString } from '@ghostfolio/common/helper'; -import { - InfoItem, - Statistics, - SubscriptionOffer -} from '@ghostfolio/common/interfaces'; +import { InfoItem, Statistics } from '@ghostfolio/common/interfaces'; import { permissions } from '@ghostfolio/common/permissions'; import { Injectable, Logger } from '@nestjs/common'; @@ -45,6 +41,7 @@ export class InfoService { private readonly platformService: PlatformService, private readonly propertyService: PropertyService, private readonly redisCacheService: RedisCacheService, + private readonly subscriptionService: SubscriptionService, private readonly userService: UserService ) {} @@ -109,7 +106,7 @@ export class InfoService { orderBy: { name: 'asc' } }), this.getStatistics(), - this.getDefaultSubscriptionOffer() + this.subscriptionService.getSubscriptionOffer({ key: 'default' }) ]); if (isUserSignupEnabled) { @@ -238,16 +235,6 @@ export class InfoService { )) as string; } - private async getDefaultSubscriptionOffer(): Promise { - if (!this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) { - return undefined; - } - - return (await this.propertyService.getByKey(PROPERTY_STRIPE_CONFIG))?.[ - 'default' - ] as SubscriptionOffer; - } - private async getDemoAuthToken() { const demoUserId = (await this.propertyService.getByKey( PROPERTY_DEMO_USER_ID diff --git a/apps/api/src/app/subscription/subscription.service.ts b/apps/api/src/app/subscription/subscription.service.ts index 10f374397..dc3e5cf59 100644 --- a/apps/api/src/app/subscription/subscription.service.ts +++ b/apps/api/src/app/subscription/subscription.service.ts @@ -201,7 +201,7 @@ export class SubscriptionService { } } - private async getSubscriptionOffer({ + public async getSubscriptionOffer({ key }: { key: SubscriptionOfferKey;