refactor: also return employee count of customer

This commit is contained in:
Methapon Metanipat 2024-08-30 09:43:34 +07:00
parent 23717bacaf
commit e367fca56e

View file

@ -147,26 +147,29 @@ export class CustomerController extends Controller {
@Get("{customerId}")
@Security("keycloak")
async getById(@Path() customerId: string) {
const record = await prisma.customer.findFirst({
include: {
branch: {
include: {
province: true,
district: true,
subDistrict: true,
const [record, countEmployee] = await prisma.$transaction([
prisma.customer.findFirst({
include: {
branch: {
include: {
province: true,
district: true,
subDistrict: true,
},
orderBy: { createdAt: "asc" },
},
orderBy: { createdAt: "asc" },
createdBy: true,
updatedBy: true,
},
createdBy: true,
updatedBy: true,
},
where: { id: customerId },
});
where: { id: customerId },
}),
prisma.employee.count({ where: { customerBranch: { customerId } } }),
]);
if (!record) {
throw new HttpError(HttpStatus.NOT_FOUND, "Customer cannot be found.", "customerNotFound");
}
return record;
return Object.assign(record, { _count: { employee: countEmployee } });
}
@Post()