Feature/add count to admin user endpoint response (#4058)

* Add count to admin user endpoint response

* Update changelog
main
QURBAN AHMAD 1 day ago committed by GitHub
parent c9693d2d58
commit 6d440eb777
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Added pagination parameters (`skip`, `take`) to the endpoint `GET api/v1/admin/user`
- Added pagination response (`count`) to the endpoint `GET api/v1/admin/user`
### Changed

@ -140,7 +140,7 @@ export class AdminService {
const [settings, transactionCount, userCount] = await Promise.all([
this.propertyService.get(),
this.prismaService.order.count(),
this.prismaService.user.count()
this.countUsersWithAnalytics()
]);
return {
@ -436,7 +436,12 @@ export class AdminService {
skip?: number;
take?: number;
}): Promise<AdminUsers> {
return { users: await this.getUsersWithAnalytics({ skip, take }) };
const [count, users] = await Promise.all([
this.countUsersWithAnalytics(),
this.getUsersWithAnalytics({ skip, take })
]);
return { count, users };
}
public async patchAssetProfileData({
@ -514,6 +519,22 @@ export class AdminService {
return response;
}
private async countUsersWithAnalytics() {
let where: Prisma.UserWhereInput;
if (this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION')) {
where = {
NOT: {
Analytics: null
}
};
}
return this.prismaService.user.count({
where
});
}
private getExtendedPrismaClient() {
Logger.debug('Connect extended prisma client', 'AdminService');

@ -159,7 +159,7 @@ export class AdminService {
public fetchUsers() {
let params = new HttpParams();
params = params.append('take', 100);
params = params.append('take', 30);
return this.http.get<AdminUsers>('/api/v1/admin/user', { params });
}

@ -1,6 +1,7 @@
import { Role } from '@prisma/client';
export interface AdminUsers {
count: number;
users: {
accountCount: number;
country: string;

Loading…
Cancel
Save