From 6d336e7e9092c4b713af123efe428666d85f4a53 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Wed, 27 Nov 2024 15:16:45 +0700 Subject: [PATCH] feat: add condition query for responsible area --- src/controllers/02-user-controller.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/controllers/02-user-controller.ts b/src/controllers/02-user-controller.ts index 76d918d..0450d02 100644 --- a/src/controllers/02-user-controller.ts +++ b/src/controllers/02-user-controller.ts @@ -262,7 +262,25 @@ export class UserController extends Controller { @Query() page: number = 1, @Query() pageSize: number = 30, @Query() status?: Status, + @Query() responsibleDistrictId?: string, ) { + const area = responsibleDistrictId + ? await prisma.employmentOffice.findMany({ + where: { + OR: [ + { + province: { district: { some: { id: responsibleDistrictId } } }, + district: { none: {} }, + }, + { + district: { + some: { districtId: responsibleDistrictId }, + }, + }, + ], + }, + }) + : null; const where = { OR: queryOrNot(query, [ { code: { contains: query, mode: "insensitive" } }, @@ -275,6 +293,11 @@ export class UserController extends Controller { ...whereAddressQuery(query), ]), AND: { + responsibleArea: area + ? { + some: { area: { in: area.map((v) => v.id) } }, + } + : undefined, userRole: { not: "system" }, userType, ...filterStatus(status),