Browse Source

improve/replace manual isNaN validation with ParseIntPipe in activities controller

pull/7183/head
AkashNegi1 2 weeks ago
parent
commit
af0721ce12
  1. 1
      CHANGELOG.md
  2. 9
      apps/api/src/app/activities/activities.controller.ts

1
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

9
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<ActivitiesResponse> {
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
});

Loading…
Cancel
Save