diff --git a/CHANGELOG.md b/CHANGELOG.md index bd4c95186..9d4606a1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Fixed the validation of the `skip` and `take` query parameters in the activities controller to use `ParseIntPipe` - Fixed the validation of the data source field of an asset profile with market data - Fixed a recurring issue where single-value fields were incorrectly validated as arrays in various endpoints diff --git a/apps/api/src/app/activities/activities.controller.ts b/apps/api/src/app/activities/activities.controller.ts index e847f600d..eaee7d9d3 100644 --- a/apps/api/src/app/activities/activities.controller.ts +++ b/apps/api/src/app/activities/activities.controller.ts @@ -29,6 +29,7 @@ import { HttpException, Inject, Param, + ParseIntPipe, Post, Put, Query, @@ -112,12 +113,12 @@ export class ActivitiesController { @Query('assetClasses') filterByAssetClasses?: string, @Query('dataSource') filterByDataSource?: string, @Query('range') dateRange?: DateRange, - @Query('skip') skip?: number, + @Query('skip', new ParseIntPipe({ optional: true })) skip?: number, @Query('sortColumn') sortColumn?: string, @Query('sortDirection') sortDirection?: Prisma.SortOrder, @Query('symbol') filterBySymbol?: string, @Query('tags') filterByTags?: string, - @Query('take') take?: number + @Query('take', new ParseIntPipe({ optional: true })) take?: number ): Promise { let endDate: Date; let startDate: Date; @@ -150,8 +151,8 @@ export class ActivitiesController { types, userCurrency, includeDrafts: true, - skip: isNaN(skip) ? undefined : skip, - take: isNaN(take) ? undefined : take, + skip, + take, userId: impersonationUserId || this.request.user.id, withExcludedAccountsAndActivities: true });