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;