admin stats

This commit is contained in:
2026-02-23 15:53:02 +03:30
parent ce6d2ae4ca
commit 1d008edc88
2 changed files with 26 additions and 0 deletions
@@ -116,4 +116,11 @@ export class OrderController {
getPrint(@Param('orderId') orderId: string) {
return this.orderService.getPrint(orderId);
}
@Get('admin/orders/stats')
@UseGuards(AdminAuthGuard)
@ApiOperation({ summary: 'Get Admin Orders stats' })
getAdminStats() {
return this.orderService.getAdminStats();
}
}
@@ -295,4 +295,23 @@ export class OrderService {
completedOrdersCount,
};
}
async getAdminStats() {
const [requestsCount, invoicesCount, inProgressOrdersCount, completedOrdersCount] =
await Promise.all([
this.em.count(Request),
this.em.count(Invoice),
this.em.count(Order, {
status: { $nin: [OrderStatusEnum.FINISHED, OrderStatusEnum.CANCELED] },
}),
this.em.count(Order, { status: OrderStatusEnum.FINISHED }),
]);
return {
requestsCount,
invoicesCount,
inProgressOrdersCount,
completedOrdersCount,
};
}
}