Browse Source

Prepared users endpoint for pagination

pull/3862/head
sahilpatel 11 months ago
parent
commit
fde8681922
  1. 14
      apps/api/src/app/admin/admin.controller.ts
  2. 13
      apps/api/src/app/admin/admin.service.ts

14
apps/api/src/app/admin/admin.controller.ts

@ -352,7 +352,17 @@ export class AdminController {
@Get('user') @Get('user')
@HasPermission(permissions.accessAdminControl) @HasPermission(permissions.accessAdminControl)
@UseGuards(AuthGuard('jwt'), HasPermissionGuard) @UseGuards(AuthGuard('jwt'), HasPermissionGuard)
public async getUsers(): Promise<AdminUsers> { public async getUsers(
return this.adminService.getUsers(); @Query('skip') skip?: number,
@Query('take') take?: number,
@Query('sortColumn') sortColumn?: string,
@Query('sortDirection') sortDirection?: Prisma.SortOrder
): Promise<AdminUsers> {
return this.adminService.getUsers({
skip: isNaN(skip) ? undefined : skip,
take: isNaN(take) ? undefined : take,
sortColumn,
sortDirection,
});
} }
} }

13
apps/api/src/app/admin/admin.service.ts

@ -427,8 +427,17 @@ export class AdminService {
}; };
} }
public async getUsers(): Promise<AdminUsers> { public async getUsers({ skip, take, sortColumn, sortDirection }: {
return { users: await this.getUsersWithAnalytics() }; skip?: number;
take?: number;
sortColumn?: string;
sortDirection?: Prisma.SortOrder;
}): Promise<AdminUsers> {
return this.userRepository.find({
skip,
take,
orderBy: sortColumn ? { [sortColumn]: sortDirection } : undefined,
});
} }
public async patchAssetProfileData({ public async patchAssetProfileData({

Loading…
Cancel
Save