admin stats
This commit is contained in:
@@ -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,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user