diff --git a/apps/api/src/app/account/account.controller.ts b/apps/api/src/app/account/account.controller.ts index e0049a904..b73977f75 100644 --- a/apps/api/src/app/account/account.controller.ts +++ b/apps/api/src/app/account/account.controller.ts @@ -1,4 +1,4 @@ -import { PortfolioServiceFactory } from '@ghostfolio/api/app/portfolio/portfolio-service.factory'; +import { PortfolioServiceStrategy } from '@ghostfolio/api/app/portfolio/portfolio-service.strategy'; import { UserService } from '@ghostfolio/api/app/user/user.service'; import { nullifyValuesInObject, @@ -35,7 +35,7 @@ export class AccountController { public constructor( private readonly accountService: AccountService, private readonly impersonationService: ImpersonationService, - private readonly portfolioServiceFactory: PortfolioServiceFactory, + private readonly portfolioServiceStrategy: PortfolioServiceStrategy, @Inject(REQUEST) private readonly request: RequestWithUser, private readonly userService: UserService ) {} @@ -91,7 +91,7 @@ export class AccountController { this.request.user.id ); - let accountsWithAggregations = await this.portfolioServiceFactory + let accountsWithAggregations = await this.portfolioServiceStrategy .get() .getAccountsWithAggregations(impersonationUserId || this.request.user.id); diff --git a/apps/api/src/app/portfolio/portfolio-service.factory.ts b/apps/api/src/app/portfolio/portfolio-service.strategy.ts similarity index 94% rename from apps/api/src/app/portfolio/portfolio-service.factory.ts rename to apps/api/src/app/portfolio/portfolio-service.strategy.ts index e1f21d7e0..49ec0422f 100644 --- a/apps/api/src/app/portfolio/portfolio-service.factory.ts +++ b/apps/api/src/app/portfolio/portfolio-service.strategy.ts @@ -6,7 +6,7 @@ import { PortfolioService } from './portfolio.service'; import { PortfolioServiceNew } from './portfolio.service-new'; @Injectable() -export class PortfolioServiceFactory { +export class PortfolioServiceStrategy { public constructor( private readonly portfolioService: PortfolioService, private readonly portfolioServiceNew: PortfolioServiceNew, diff --git a/apps/api/src/app/portfolio/portfolio.controller.ts b/apps/api/src/app/portfolio/portfolio.controller.ts index 9aae2f772..a6d291ad2 100644 --- a/apps/api/src/app/portfolio/portfolio.controller.ts +++ b/apps/api/src/app/portfolio/portfolio.controller.ts @@ -35,7 +35,7 @@ import { StatusCodes, getReasonPhrase } from 'http-status-codes'; import { PortfolioPositionDetail } from './interfaces/portfolio-position-detail.interface'; import { PortfolioPositions } from './interfaces/portfolio-positions.interface'; -import { PortfolioServiceFactory } from './portfolio-service.factory'; +import { PortfolioServiceStrategy } from './portfolio-service.strategy'; @Controller('portfolio') export class PortfolioController { @@ -43,7 +43,7 @@ export class PortfolioController { private readonly accessService: AccessService, private readonly configurationService: ConfigurationService, private readonly exchangeRateDataService: ExchangeRateDataService, - private readonly portfolioServiceFactory: PortfolioServiceFactory, + private readonly portfolioServiceStrategy: PortfolioServiceStrategy, @Inject(REQUEST) private readonly request: RequestWithUser, private readonly userService: UserService ) {} @@ -55,7 +55,7 @@ export class PortfolioController { @Query('range') range, @Res() res: Response ): Promise { - const historicalDataContainer = await this.portfolioServiceFactory + const historicalDataContainer = await this.portfolioServiceStrategy .get() .getChart(impersonationId, range); @@ -114,9 +114,10 @@ export class PortfolioController { let hasError = false; - const { accounts, holdings, hasErrors } = await this.portfolioServiceFactory - .get() - .getDetails(impersonationId, this.request.user.id, range); + const { accounts, holdings, hasErrors } = + await this.portfolioServiceStrategy + .get() + .getDetails(impersonationId, this.request.user.id, range); if (hasErrors || hasNotDefinedValuesInObject(holdings)) { hasError = true; @@ -174,7 +175,7 @@ export class PortfolioController { return res.json({}); } - let investments = await this.portfolioServiceFactory + let investments = await this.portfolioServiceStrategy .get() .getInvestments(impersonationId); @@ -203,7 +204,7 @@ export class PortfolioController { @Query('range') range, @Res() res: Response ): Promise<{ hasErrors: boolean; performance: PortfolioPerformance }> { - const performanceInformation = await this.portfolioServiceFactory + const performanceInformation = await this.portfolioServiceStrategy .get() .getPerformance(impersonationId, range); @@ -227,7 +228,7 @@ export class PortfolioController { @Query('range') range, @Res() res: Response ): Promise { - const result = await this.portfolioServiceFactory + const result = await this.portfolioServiceStrategy .get() .getPositions(impersonationId, range); @@ -268,7 +269,7 @@ export class PortfolioController { hasDetails = user.subscription.type === 'Premium'; } - const { holdings } = await this.portfolioServiceFactory + const { holdings } = await this.portfolioServiceStrategy .get() .getDetails(access.userId, access.userId); @@ -311,7 +312,7 @@ export class PortfolioController { public async getSummary( @Headers('impersonation-id') impersonationId ): Promise { - let summary = await this.portfolioServiceFactory + let summary = await this.portfolioServiceStrategy .get() .getSummary(impersonationId); @@ -342,7 +343,7 @@ export class PortfolioController { @Headers('impersonation-id') impersonationId: string, @Param('symbol') symbol ): Promise { - let position = await this.portfolioServiceFactory + let position = await this.portfolioServiceStrategy .get() .getPosition(impersonationId, symbol); @@ -386,7 +387,7 @@ export class PortfolioController { return ( res.json( - await this.portfolioServiceFactory.get().getReport(impersonationId) + await this.portfolioServiceStrategy.get().getReport(impersonationId) ) ); } diff --git a/apps/api/src/app/portfolio/portfolio.module.ts b/apps/api/src/app/portfolio/portfolio.module.ts index d7708a86d..85bc98e7a 100644 --- a/apps/api/src/app/portfolio/portfolio.module.ts +++ b/apps/api/src/app/portfolio/portfolio.module.ts @@ -13,14 +13,14 @@ import { SymbolProfileModule } from '@ghostfolio/api/services/symbol-profile.mod import { Module } from '@nestjs/common'; import { CurrentRateService } from './current-rate.service'; -import { PortfolioServiceFactory } from './portfolio-service.factory'; +import { PortfolioServiceStrategy } from './portfolio-service.strategy'; import { PortfolioController } from './portfolio.controller'; import { PortfolioService } from './portfolio.service'; import { PortfolioServiceNew } from './portfolio.service-new'; import { RulesService } from './rules.service'; @Module({ - exports: [PortfolioServiceFactory], + exports: [PortfolioServiceStrategy], imports: [ AccessModule, ConfigurationModule, @@ -40,7 +40,7 @@ import { RulesService } from './rules.service'; CurrentRateService, PortfolioService, PortfolioServiceNew, - PortfolioServiceFactory, + PortfolioServiceStrategy, RulesService ] })