From f940eb67259c572174e0dfc7d6ba1c49b6d346aa Mon Sep 17 00:00:00 2001 From: Aman <142656811+Amanthisside@users.noreply.github.com> Date: Sat, 18 Oct 2025 12:56:39 +0530 Subject: [PATCH] Task/refactor PortfolioInvestments interface to PortfolioInvestmentsResponse interface (#5774) * Refactor PortfolioInvestments to PortfolioInvestmentsResponse --- apps/api/src/app/portfolio/portfolio.controller.ts | 4 ++-- apps/api/src/app/portfolio/portfolio.service.ts | 6 +++--- .../app/pages/portfolio/analysis/analysis-page.component.ts | 4 ++-- apps/client/src/app/services/data.service.ts | 4 ++-- libs/common/src/lib/interfaces/index.ts | 4 ++-- .../src/lib/interfaces/portfolio-investments.interface.ts | 6 ------ .../interfaces/responses/portfolio-investments.interface.ts | 6 ++++++ 7 files changed, 17 insertions(+), 17 deletions(-) delete mode 100644 libs/common/src/lib/interfaces/portfolio-investments.interface.ts create mode 100644 libs/common/src/lib/interfaces/responses/portfolio-investments.interface.ts diff --git a/apps/api/src/app/portfolio/portfolio.controller.ts b/apps/api/src/app/portfolio/portfolio.controller.ts index 7d8ceecda..03796dad6 100644 --- a/apps/api/src/app/portfolio/portfolio.controller.ts +++ b/apps/api/src/app/portfolio/portfolio.controller.ts @@ -22,7 +22,7 @@ import { PortfolioDividendsResponse, PortfolioHoldingResponse, PortfolioHoldingsResponse, - PortfolioInvestments, + PortfolioInvestmentsResponse, PortfolioPerformanceResponse, PortfolioReportResponse } from '@ghostfolio/common/interfaces'; @@ -439,7 +439,7 @@ export class PortfolioController { @Query('range') dateRange: DateRange = 'max', @Query('symbol') filterBySymbol?: string, @Query('tags') filterByTags?: string - ): Promise { + ): Promise { const filters = this.apiService.buildFiltersFromQueryParams({ filterByAccounts, filterByAssetClasses, diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index cb6eba5be..b74b779f6 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -46,7 +46,7 @@ import { InvestmentItem, PortfolioDetails, PortfolioHoldingResponse, - PortfolioInvestments, + PortfolioInvestmentsResponse, PortfolioPerformanceResponse, PortfolioPosition, PortfolioReportResponse, @@ -397,7 +397,7 @@ export class PortfolioService { impersonationId: string; savingsRate: number; userId: string; - }): Promise { + }): Promise { userId = await this.getUserId(impersonationId, userId); const user = await this.userService.user({ id: userId }); const userCurrency = this.getUserCurrency(user); @@ -448,7 +448,7 @@ export class PortfolioService { }); } - let streaks: PortfolioInvestments['streaks']; + let streaks: PortfolioInvestmentsResponse['streaks']; if (savingsRate) { streaks = this.getStreaks({ diff --git a/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts b/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts index 26d474f73..63ed3569c 100644 --- a/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts +++ b/apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts @@ -6,7 +6,7 @@ import { UserService } from '@ghostfolio/client/services/user/user.service'; import { HistoricalDataItem, InvestmentItem, - PortfolioInvestments, + PortfolioInvestmentsResponse, PortfolioPerformance, PortfolioPosition, ToggleOption, @@ -94,7 +94,7 @@ export class GfAnalysisPageComponent implements OnDestroy, OnInit { public performanceDataItems: HistoricalDataItem[]; public performanceDataItemsInPercentage: HistoricalDataItem[]; public portfolioEvolutionDataLabel = $localize`Investment`; - public streaks: PortfolioInvestments['streaks']; + public streaks: PortfolioInvestmentsResponse['streaks']; public top3: PortfolioPosition[]; public unitCurrentStreak: string; public unitLongestStreak: string; diff --git a/apps/client/src/app/services/data.service.ts b/apps/client/src/app/services/data.service.ts index 0b5c4b253..b5f6d9e01 100644 --- a/apps/client/src/app/services/data.service.ts +++ b/apps/client/src/app/services/data.service.ts @@ -45,7 +45,7 @@ import { PortfolioDividendsResponse, PortfolioHoldingResponse, PortfolioHoldingsResponse, - PortfolioInvestments, + PortfolioInvestmentsResponse, PortfolioPerformanceResponse, PortfolioReportResponse, PublicPortfolioResponse, @@ -463,7 +463,7 @@ export class DataService { params = params.append('groupBy', groupBy); params = params.append('range', range); - return this.http.get( + return this.http.get( '/api/v1/portfolio/investments', { params } ); diff --git a/libs/common/src/lib/interfaces/index.ts b/libs/common/src/lib/interfaces/index.ts index d38502945..8a7ef8544 100644 --- a/libs/common/src/lib/interfaces/index.ts +++ b/libs/common/src/lib/interfaces/index.ts @@ -30,7 +30,6 @@ import type { LookupItem } from './lookup-item.interface'; import type { MarketData } from './market-data.interface'; import type { PortfolioChart } from './portfolio-chart.interface'; import type { PortfolioDetails } from './portfolio-details.interface'; -import type { PortfolioInvestments } from './portfolio-investments.interface'; import type { PortfolioPerformance } from './portfolio-performance.interface'; import type { PortfolioPosition } from './portfolio-position.interface'; import type { PortfolioReportRule } from './portfolio-report-rule.interface'; @@ -58,6 +57,7 @@ import type { OAuthResponse } from './responses/oauth-response.interface'; import type { PortfolioDividendsResponse } from './responses/portfolio-dividends-response.interface'; import { PortfolioHoldingResponse } from './responses/portfolio-holding-response.interface'; import type { PortfolioHoldingsResponse } from './responses/portfolio-holdings-response.interface'; +import type { PortfolioInvestmentsResponse } from './responses/portfolio-investments.interface'; import type { PortfolioPerformanceResponse } from './responses/portfolio-performance-response.interface'; import type { PortfolioReportResponse } from './responses/portfolio-report.interface'; import type { PublicPortfolioResponse } from './responses/public-portfolio-response.interface'; @@ -125,7 +125,7 @@ export { PortfolioDividendsResponse, PortfolioHoldingResponse, PortfolioHoldingsResponse, - PortfolioInvestments, + PortfolioInvestmentsResponse, PortfolioPerformance, PortfolioPerformanceResponse, PortfolioPosition, diff --git a/libs/common/src/lib/interfaces/portfolio-investments.interface.ts b/libs/common/src/lib/interfaces/portfolio-investments.interface.ts deleted file mode 100644 index 70de5c7d6..000000000 --- a/libs/common/src/lib/interfaces/portfolio-investments.interface.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { InvestmentItem } from './investment-item.interface'; - -export interface PortfolioInvestments { - investments: InvestmentItem[]; - streaks: { currentStreak: number; longestStreak: number }; -} diff --git a/libs/common/src/lib/interfaces/responses/portfolio-investments.interface.ts b/libs/common/src/lib/interfaces/responses/portfolio-investments.interface.ts new file mode 100644 index 000000000..6d0d60002 --- /dev/null +++ b/libs/common/src/lib/interfaces/responses/portfolio-investments.interface.ts @@ -0,0 +1,6 @@ +import { InvestmentItem } from '../investment-item.interface'; + +export interface PortfolioInvestmentsResponse { + investments: InvestmentItem[]; + streaks: { currentStreak: number; longestStreak: number }; +}