diff --git a/apps/api/src/app/portfolio/portfolio.controller.ts b/apps/api/src/app/portfolio/portfolio.controller.ts index 1c540b961..01b58ad5a 100644 --- a/apps/api/src/app/portfolio/portfolio.controller.ts +++ b/apps/api/src/app/portfolio/portfolio.controller.ts @@ -8,6 +8,7 @@ import { ConfigurationService } from '@ghostfolio/api/services/configuration.ser import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; import { baseCurrency } from '@ghostfolio/common/config'; import { + PortfolioChart, PortfolioDetails, PortfolioPerformance, PortfolioPublicDetails, @@ -32,10 +33,7 @@ import { AuthGuard } from '@nestjs/passport'; import { Response } from 'express'; import { StatusCodes, getReasonPhrase } from 'http-status-codes'; -import { - HistoricalDataItem, - PortfolioPositionDetail -} from './interfaces/portfolio-position-detail.interface'; +import { PortfolioPositionDetail } from './interfaces/portfolio-position-detail.interface'; import { PortfolioPositions } from './interfaces/portfolio-positions.interface'; import { PortfolioService } from './portfolio.service'; @@ -92,7 +90,7 @@ export class PortfolioController { @Headers('impersonation-id') impersonationId, @Query('range') range, @Res() res: Response - ): Promise { + ): Promise { let chartData = await this.portfolioService.getChart( impersonationId, range @@ -130,7 +128,11 @@ export class PortfolioController { }); } - return res.json(chartData); + return res.json({ + isAllTimeHigh: true, + isAllTimeLow: false, + chart: chartData + }); } @Get('details') diff --git a/apps/client/src/app/pages/home/home-page.component.ts b/apps/client/src/app/pages/home/home-page.component.ts index 8a908a915..97ea3fa6a 100644 --- a/apps/client/src/app/pages/home/home-page.component.ts +++ b/apps/client/src/app/pages/home/home-page.component.ts @@ -166,7 +166,7 @@ export class HomePageComponent implements OnDestroy, OnInit { .fetchChart({ range: this.dateRange }) .pipe(takeUntil(this.unsubscribeSubject)) .subscribe((chartData) => { - this.historicalDataItems = chartData.map((chartDataItem) => { + this.historicalDataItems = chartData.chart.map((chartDataItem) => { return { date: chartDataItem.date, value: chartDataItem.value diff --git a/apps/client/src/app/pages/zen/zen-page.component.ts b/apps/client/src/app/pages/zen/zen-page.component.ts index 91c2c302f..0e9a3ffdf 100644 --- a/apps/client/src/app/pages/zen/zen-page.component.ts +++ b/apps/client/src/app/pages/zen/zen-page.component.ts @@ -114,7 +114,7 @@ export class ZenPageComponent implements AfterViewInit, OnDestroy, OnInit { .fetchChart({ range: this.dateRange }) .pipe(takeUntil(this.unsubscribeSubject)) .subscribe((chartData) => { - this.historicalDataItems = chartData.map((chartDataItem) => { + this.historicalDataItems = chartData.chart.map((chartDataItem) => { return { date: chartDataItem.date, value: chartDataItem.value diff --git a/apps/client/src/app/services/data.service.ts b/apps/client/src/app/services/data.service.ts index 0f45d8e8e..b16ed2619 100644 --- a/apps/client/src/app/services/data.service.ts +++ b/apps/client/src/app/services/data.service.ts @@ -21,6 +21,7 @@ import { AdminData, Export, InfoItem, + PortfolioChart, PortfolioDetails, PortfolioPerformance, PortfolioPublicDetails, @@ -91,7 +92,7 @@ export class DataService { } public fetchChart({ range }: { range: DateRange }) { - return this.http.get('/api/portfolio/chart', { + return this.http.get('/api/portfolio/chart', { params: { range } }); } diff --git a/libs/common/src/lib/interfaces/index.ts b/libs/common/src/lib/interfaces/index.ts index b2c973be6..af065936b 100644 --- a/libs/common/src/lib/interfaces/index.ts +++ b/libs/common/src/lib/interfaces/index.ts @@ -3,6 +3,7 @@ import { Accounts } from './accounts.interface'; import { AdminData } from './admin-data.interface'; import { Export } from './export.interface'; import { InfoItem } from './info-item.interface'; +import { PortfolioChart } from './portfolio-chart.interface'; import { PortfolioDetails } from './portfolio-details.interface'; import { PortfolioItem } from './portfolio-item.interface'; import { PortfolioOverview } from './portfolio-overview.interface'; @@ -24,6 +25,7 @@ export { AdminData, Export, InfoItem, + PortfolioChart, PortfolioDetails, PortfolioItem, PortfolioOverview, diff --git a/libs/common/src/lib/interfaces/portfolio-chart.interface.ts b/libs/common/src/lib/interfaces/portfolio-chart.interface.ts new file mode 100644 index 000000000..d9946746d --- /dev/null +++ b/libs/common/src/lib/interfaces/portfolio-chart.interface.ts @@ -0,0 +1,7 @@ +import { HistoricalDataItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-position-detail.interface'; + +export interface PortfolioChart { + isAllTimeHigh: boolean; + isAllTimeLow: boolean; + chart: HistoricalDataItem[]; +} diff --git a/libs/common/src/lib/interfaces/portfolio-performance.interface.ts b/libs/common/src/lib/interfaces/portfolio-performance.interface.ts index bd09c288b..3a2770786 100644 --- a/libs/common/src/lib/interfaces/portfolio-performance.interface.ts +++ b/libs/common/src/lib/interfaces/portfolio-performance.interface.ts @@ -5,6 +5,4 @@ export interface PortfolioPerformance { currentNetPerformance: number; currentNetPerformancePercent: number; currentValue: number; - isAllTimeHigh: boolean; - isAllTimeLow: boolean; }