From 14004b81c982016912809f898541ae10362a6ba4 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Wed, 3 Jul 2024 11:33:27 +0700 Subject: [PATCH] feat: add count of service under group / type --- src/controllers/product/group-controller.ts | 10 +++++++--- src/controllers/product/type-controller.ts | 5 ++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/controllers/product/group-controller.ts b/src/controllers/product/group-controller.ts index bc135fb..8a453bc 100644 --- a/src/controllers/product/group-controller.ts +++ b/src/controllers/product/group-controller.ts @@ -84,9 +84,9 @@ export class ProductGroup extends Controller { prisma.productGroup.count({ where }), ]); - const statsProduct = await prisma.productType.findMany({ + const statsDeep = await prisma.productType.findMany({ include: { - _count: { select: { product: true } }, + _count: { select: { product: true, service: true } }, }, where: { productGroupId: { in: result.map((v) => v.id) }, @@ -98,10 +98,14 @@ export class ProductGroup extends Controller { ...v, _count: { ...v._count, - product: statsProduct.reduce( + product: statsDeep.reduce( (a, c) => (c.productGroupId === v.id ? a + c._count.product : a), 0, ), + service: statsDeep.reduce( + (a, c) => (c.productGroupId === v.id ? a + c._count.service : a), + 0, + ), }, })), page, diff --git a/src/controllers/product/type-controller.ts b/src/controllers/product/type-controller.ts index 886eb5c..42172ad 100644 --- a/src/controllers/product/type-controller.ts +++ b/src/controllers/product/type-controller.ts @@ -70,7 +70,10 @@ export class ProductType extends Controller { prisma.productType.findMany({ include: { _count: { - select: { product: true }, + select: { + product: true, + service: true, + }, }, createdBy: true, updatedBy: true,