Browse Source

Task/refactor PortfolioInvestments interface to PortfolioInvestmentsResponse interface (#5774)

* Refactor PortfolioInvestments to PortfolioInvestmentsResponse
pull/5780/head
Aman 1 day ago
committed by GitHub
parent
commit
f940eb6725
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      apps/api/src/app/portfolio/portfolio.controller.ts
  2. 6
      apps/api/src/app/portfolio/portfolio.service.ts
  3. 4
      apps/client/src/app/pages/portfolio/analysis/analysis-page.component.ts
  4. 4
      apps/client/src/app/services/data.service.ts
  5. 4
      libs/common/src/lib/interfaces/index.ts
  6. 6
      libs/common/src/lib/interfaces/portfolio-investments.interface.ts
  7. 6
      libs/common/src/lib/interfaces/responses/portfolio-investments.interface.ts

4
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<PortfolioInvestments> {
): Promise<PortfolioInvestmentsResponse> {
const filters = this.apiService.buildFiltersFromQueryParams({
filterByAccounts,
filterByAssetClasses,

6
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<PortfolioInvestments> {
}): Promise<PortfolioInvestmentsResponse> {
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({

4
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;

4
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<PortfolioInvestments>(
return this.http.get<PortfolioInvestmentsResponse>(
'/api/v1/portfolio/investments',
{ params }
);

4
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,

6
libs/common/src/lib/interfaces/portfolio-investments.interface.ts

@ -1,6 +0,0 @@
import { InvestmentItem } from './investment-item.interface';
export interface PortfolioInvestments {
investments: InvestmentItem[];
streaks: { currentStreak: number; longestStreak: number };
}

6
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 };
}
Loading…
Cancel
Save