From 21aeacfaf33336ceec1fa43ae416ed12600b1657 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Tue, 23 Apr 2024 13:48:08 +0700 Subject: [PATCH] feat: sort stats --- src/controllers/branch-controller.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/controllers/branch-controller.ts b/src/controllers/branch-controller.ts index 68a4213..f772de3 100644 --- a/src/controllers/branch-controller.ts +++ b/src/controllers/branch-controller.ts @@ -109,13 +109,26 @@ export class BranchController extends Controller { const record = await prisma.branch.findMany({ select: { id: true, + headOfficeId: true, + isHeadOffice: true, nameEN: true, name: true, - isHeadOffice: true, }, + orderBy: [{ isHeadOffice: "desc" }, { createdAt: "asc" }], }); - return record.map((a) => + const sort = record.reduce<(typeof record)[]>((acc, curr) => { + for (const i of acc) { + if (i[0].id === curr.headOfficeId) { + i.push(curr); + return acc; + } + } + acc.push([curr]); + return acc; + }, []); + + return sort.flat().map((a) => Object.assign(a, { count: list.find((b) => b.branchId === a.id)?._count ?? 0, }),