diff --git a/CHANGELOG.md b/CHANGELOG.md index 81a6da6d7..c88ee481d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added the date range support to the portfolio holdings page + ### Changed - Removed the date range support in the activities table on the portfolio activities page (experimental) diff --git a/apps/api/src/app/portfolio/portfolio.controller.ts b/apps/api/src/app/portfolio/portfolio.controller.ts index 56c0a231c..81d0c3df9 100644 --- a/apps/api/src/app/portfolio/portfolio.controller.ts +++ b/apps/api/src/app/portfolio/portfolio.controller.ts @@ -290,6 +290,7 @@ export class PortfolioController { @Query('assetClasses') filterByAssetClasses?: string, @Query('holdingType') filterByHoldingType?: string, @Query('query') filterBySearchQuery?: string, + @Query('range') dateRange: DateRange = 'max', @Query('tags') filterByTags?: string ): Promise { const filters = this.apiService.buildFiltersFromQueryParams({ @@ -301,6 +302,7 @@ export class PortfolioController { }); const { holdings } = await this.portfolioService.getDetails({ + dateRange, filters, impersonationId, userId: this.request.user.id diff --git a/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts b/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts index 8834593e1..107e8f307 100644 --- a/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts +++ b/apps/client/src/app/pages/portfolio/holdings/holdings-page.component.ts @@ -123,7 +123,8 @@ export class HoldingsPageComponent implements OnDestroy, OnInit { } return this.dataService.fetchPortfolioHoldings({ - filters + filters, + range: this.user?.settings?.dateRange }); } diff --git a/apps/client/src/app/services/data.service.ts b/apps/client/src/app/services/data.service.ts index 8a3f7d293..a1d94c646 100644 --- a/apps/client/src/app/services/data.service.ts +++ b/apps/client/src/app/services/data.service.ts @@ -464,13 +464,21 @@ export class DataService { } public fetchPortfolioHoldings({ - filters + filters, + range }: { filters?: Filter[]; - } = {}) { + range?: DateRange; + }) { + let params = this.buildFiltersAsQueryParams({ filters }); + + if (range) { + params = params.append('range', range); + } + return this.http .get('/api/v1/portfolio/holdings', { - params: this.buildFiltersAsQueryParams({ filters }) + params }) .pipe( map((response) => {