diff --git a/apps/api/src/app/order/order.controller.ts b/apps/api/src/app/order/order.controller.ts index be6a6bead..56cebb291 100644 --- a/apps/api/src/app/order/order.controller.ts +++ b/apps/api/src/app/order/order.controller.ts @@ -89,7 +89,9 @@ export class OrderController { @Headers(HEADER_KEY_IMPERSONATION.toLowerCase()) impersonationId, @Query('accounts') filterByAccounts?: string, @Query('assetClasses') filterByAssetClasses?: string, - @Query('tags') filterByTags?: string + @Query('tags') filterByTags?: string, + @Query('take') take?: number, + @Query('skip') skip?: number ): Promise { const filters = this.apiService.buildFiltersFromQueryParams({ filterByAccounts, @@ -106,7 +108,9 @@ export class OrderController { userCurrency, includeDrafts: true, userId: impersonationUserId || this.request.user.id, - withExcludedAccounts: true + withExcludedAccounts: true, + skip: isNaN(skip) ? undefined : skip, + take: isNaN(take) ? undefined : take }); return { activities }; diff --git a/apps/api/src/app/order/order.service.ts b/apps/api/src/app/order/order.service.ts index f518e0bb3..647a0acb1 100644 --- a/apps/api/src/app/order/order.service.ts +++ b/apps/api/src/app/order/order.service.ts @@ -233,7 +233,9 @@ export class OrderService { types, userCurrency, userId, - withExcludedAccounts = false + withExcludedAccounts = false, + skip, + take = Number.MAX_SAFE_INTEGER }: { filters?: Filter[]; includeDrafts?: boolean; @@ -241,6 +243,8 @@ export class OrderService { userCurrency: string; userId: string; withExcludedAccounts?: boolean; + skip?: number; + take?: number; }): Promise { const where: Prisma.OrderWhereInput = { userId }; @@ -315,6 +319,8 @@ export class OrderService { return ( await this.orders({ + skip, + take, where, include: { // eslint-disable-next-line @typescript-eslint/naming-convention