admin stats
This commit is contained in:
@@ -116,4 +116,11 @@ export class OrderController {
|
|||||||
getPrint(@Param('orderId') orderId: string) {
|
getPrint(@Param('orderId') orderId: string) {
|
||||||
return this.orderService.getPrint(orderId);
|
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,
|
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