From 49547c8373907a0d432c4e7a603761d32fab217a Mon Sep 17 00:00:00 2001 From: Methapon Metanipat Date: Wed, 4 Sep 2024 16:47:31 +0700 Subject: [PATCH] refactor: scope view --- src/controllers/user-controller.ts | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/controllers/user-controller.ts b/src/controllers/user-controller.ts index 4aff2d2..8e415fe 100644 --- a/src/controllers/user-controller.ts +++ b/src/controllers/user-controller.ts @@ -233,11 +233,22 @@ export class UserController extends Controller { ], AND: { userRole: { not: "system" }, - branch: !["system", "head_of_admin", "admin", "branch_admin"].some((v) => - req.user.roles?.includes(v), - ) - ? { some: { branch: { user: { some: { userId: req.user.sub } } } } } - : undefined, + branch: isSystem(req.user) + ? undefined + : { + some: { + branch: { + OR: [ + { user: { some: { userId: req.user.sub } } }, + { + headOffice: !globalAllow(req.user) + ? { user: { some: { userId: req.user.sub } } } + : undefined, + }, + ], + }, + }, + }, }, } satisfies Prisma.UserWhereInput;