From c266d579ffcb7e3860e4b71e6b80e151fcf351ee Mon Sep 17 00:00:00 2001 From: Qurban Ahmad Date: Tue, 19 Nov 2024 21:48:11 +0530 Subject: [PATCH] feat: added count response to the GET /api/v1/admin/user --- apps/api/src/app/admin/admin.service.ts | 20 ++++++++++++++++++- .../lib/interfaces/admin-users.interface.ts | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/apps/api/src/app/admin/admin.service.ts b/apps/api/src/app/admin/admin.service.ts index a0531c483..50e762cb9 100644 --- a/apps/api/src/app/admin/admin.service.ts +++ b/apps/api/src/app/admin/admin.service.ts @@ -436,7 +436,7 @@ export class AdminService { skip?: number; take?: number; }): Promise { - return { users: await this.getUsersWithAnalytics({ skip, take }) }; + return { users: await this.getUsersWithAnalytics({ skip, take }), count: await this.countWithAnalytics() }; } public async patchAssetProfileData({ @@ -646,6 +646,24 @@ export class AdminService { return { marketData, count: marketData.length }; } + private async countWithAnalytics(): Promise { + let where: Prisma.UserWhereInput; + + if (this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) { + where = { + NOT: { + Analytics: null + } + }; + } + + const usersCountWithAnalytics = await this.prismaService.user.count({ + where, + }); + + return usersCountWithAnalytics; + } + private async getUsersWithAnalytics({ skip, take diff --git a/libs/common/src/lib/interfaces/admin-users.interface.ts b/libs/common/src/lib/interfaces/admin-users.interface.ts index 24eb45c85..ef1ba254b 100644 --- a/libs/common/src/lib/interfaces/admin-users.interface.ts +++ b/libs/common/src/lib/interfaces/admin-users.interface.ts @@ -11,4 +11,5 @@ export interface AdminUsers { role: Role; transactionCount: number; }[]; + count: number; }