fix: regression perm not work as expected after activeOnly opts

This commit is contained in:
Methapon2001 2024-12-12 10:15:22 +07:00
parent c4d2349114
commit eb8e311d3d

View file

@ -40,37 +40,38 @@ export function createPermCondition(
? undefined
: [
{
status: opts?.activeOnly ? { not: Status.INACTIVE } : undefined,
user: { some: { userId: user.sub } },
},
{
status: opts?.activeOnly ? { not: Status.INACTIVE } : undefined,
branch:
opts?.alwaysIncludeHead || globalAllow(user)
? {
some: { user: { some: { userId: user.sub } } },
}
: undefined,
},
{
headOffice: globalAllow(user)
? {
status: opts?.activeOnly ? { not: Status.INACTIVE } : undefined,
branch: {
some: { user: { some: { userId: user.sub } } },
},
}
: undefined,
status: opts?.activeOnly ? { not: Status.INACTIVE } : undefined,
},
{
headOffice: globalAllow(user)
? {
status: opts?.activeOnly ? { not: Status.INACTIVE } : undefined,
user: { some: { userId: user.sub } },
}
: undefined,
status: opts?.activeOnly ? { not: Status.INACTIVE } : undefined,
AND: opts?.activeOnly ? { status: { not: Status.INACTIVE } } : undefined,
OR: [
{
user: { some: { userId: user.sub } },
},
{
branch:
opts?.alwaysIncludeHead || globalAllow(user)
? {
some: { user: { some: { userId: user.sub } } },
}
: undefined,
},
{
headOffice: globalAllow(user)
? {
status: opts?.activeOnly ? { not: Status.INACTIVE } : undefined,
branch: {
some: { user: { some: { userId: user.sub } } },
},
}
: undefined,
},
{
headOffice: globalAllow(user)
? {
status: opts?.activeOnly ? { not: Status.INACTIVE } : undefined,
user: { some: { userId: user.sub } },
}
: undefined,
},
],
},
];
}