Patch getProjectPermission

This commit is contained in:
Tuan Dang
2024-04-11 13:00:50 -07:00
parent 09b63eee90
commit ff8354605c
2 changed files with 18 additions and 11 deletions

View File

@@ -482,8 +482,8 @@ export const registerScimRouter = async (server: FastifyZodProvider) => {
},
onRequest: verifyAuth([AuthMode.SCIM_TOKEN]),
handler: async (req) => {
console.log("PATCH /Groups/:groupId req.body: ", req.body);
console.log("PATCH /Groups/:groupId req.body: ", req.body.Operations[0]);
// console.log("PATCH /Groups/:groupId req.body: ", req.body);
// console.log("PATCH /Groups/:groupId req.body: ", req.body.Operations[0]);
const group = await req.server.services.scim.updateScimGroupNamePatch({
groupId: req.params.groupId,
orgId: req.permission.orgId,

View File

@@ -175,7 +175,7 @@ export const permissionDALFactory = (db: TDbClient) => {
]
});
const groupRoles = groupDocs.length
const groupPermission = groupDocs.length
? sqlNestRelationships({
data: groupDocs,
key: "projectId",
@@ -207,16 +207,23 @@ export const permissionDALFactory = (db: TDbClient) => {
}).parse(data)
}
]
})?.[0]?.roles
})
: [];
if (!permission?.[0]) return undefined;
if (!permission?.[0] && !groupPermission[0]) return undefined;
// when introducting cron mode change it here
const activeRoles = permission?.[0]?.roles?.filter(
({ isTemporary, temporaryAccessEndTime }) =>
!isTemporary || (isTemporary && temporaryAccessEndTime && new Date() < temporaryAccessEndTime)
);
const activeRoles =
permission?.[0]?.roles?.filter(
({ isTemporary, temporaryAccessEndTime }) =>
!isTemporary || (isTemporary && temporaryAccessEndTime && new Date() < temporaryAccessEndTime)
) ?? [];
const activeGroupRoles =
groupPermission?.[0]?.roles?.filter(
({ isTemporary, temporaryAccessEndTime }) =>
!isTemporary || (isTemporary && temporaryAccessEndTime && new Date() < temporaryAccessEndTime)
) ?? [];
const activeAdditionalPrivileges = permission?.[0]?.additionalPrivileges?.filter(
({ isTemporary, temporaryAccessEndTime }) =>
@@ -224,8 +231,8 @@ export const permissionDALFactory = (db: TDbClient) => {
);
return {
...permission[0],
roles: [...activeRoles, ...groupRoles],
...(permission[0] || groupPermission[0]),
roles: [...activeRoles, ...activeGroupRoles],
additionalPrivileges: activeAdditionalPrivileges
};
} catch (error) {