up
deploy to danak / build_and_deploy (push) Has been cancelled

This commit is contained in:
2026-06-26 16:00:57 +03:30
parent 80abf638fb
commit 1ce6ae1714
2 changed files with 26 additions and 0 deletions
@@ -45,6 +45,12 @@ export class AdminController {
return admin;
}
@Get('admin/dashboard/counts')
@ApiOperation({ summary: 'Get dashboard entity counts for admin panel' })
getDashboardCounts() {
return this.adminService.getDashboardCounts();
}
@Patch('admin/admins/:adminId')
@Permissions(PermissionEnum.MANAGE_ADMINS)
@@ -7,6 +7,10 @@ import { CreateAdminDto } from '../dto/create-admin.dto';
import { AdminRepository } from '../repositories/admin.repository';
import { RoleRepository } from 'src/modules/roles/respository/role.repository';
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()
export class AdminService {
@@ -148,4 +152,20 @@ export class AdminService {
)
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,
};
}
}