@@ -45,6 +45,12 @@ export class AdminController {
|
|||||||
return admin;
|
return admin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Get('admin/dashboard/counts')
|
||||||
|
@ApiOperation({ summary: 'Get dashboard entity counts for admin panel' })
|
||||||
|
getDashboardCounts() {
|
||||||
|
return this.adminService.getDashboardCounts();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Patch('admin/admins/:adminId')
|
@Patch('admin/admins/:adminId')
|
||||||
@Permissions(PermissionEnum.MANAGE_ADMINS)
|
@Permissions(PermissionEnum.MANAGE_ADMINS)
|
||||||
|
|||||||
@@ -7,6 +7,10 @@ import { CreateAdminDto } from '../dto/create-admin.dto';
|
|||||||
import { AdminRepository } from '../repositories/admin.repository';
|
import { AdminRepository } from '../repositories/admin.repository';
|
||||||
import { RoleRepository } from 'src/modules/roles/respository/role.repository';
|
import { RoleRepository } from 'src/modules/roles/respository/role.repository';
|
||||||
import { PermissionEnum } from 'src/common/enums/permission.enum';
|
import { PermissionEnum } from 'src/common/enums/permission.enum';
|
||||||
|
import { Request } from 'src/modules/request/entities/request.entity';
|
||||||
|
import { Invoice } from 'src/modules/invoice/entities/invoice.entity';
|
||||||
|
import { Order } from 'src/modules/order/entities/order.entity';
|
||||||
|
import { Payment } from 'src/modules/payment/entities/payment.entity';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class AdminService {
|
export class AdminService {
|
||||||
@@ -148,4 +152,20 @@ export class AdminService {
|
|||||||
)
|
)
|
||||||
return permissionNames.filter((name) => adminPermissionNames.has(name))
|
return permissionNames.filter((name) => adminPermissionNames.has(name))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getDashboardCounts() {
|
||||||
|
const [requestsCount, invoicesCount, ordersCount, paymentsCount] = await Promise.all([
|
||||||
|
this.em.count(Request),
|
||||||
|
this.em.count(Invoice),
|
||||||
|
this.em.count(Order),
|
||||||
|
this.em.count(Payment),
|
||||||
|
]);
|
||||||
|
|
||||||
|
return {
|
||||||
|
requestsCount,
|
||||||
|
invoicesCount,
|
||||||
|
ordersCount,
|
||||||
|
paymentsCount,
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user