diff --git a/backend/src/ee/routes/v1/scim-router.ts b/backend/src/ee/routes/v1/scim-router.ts index 8c2415cce..80ece7e85 100644 --- a/backend/src/ee/routes/v1/scim-router.ts +++ b/backend/src/ee/routes/v1/scim-router.ts @@ -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, diff --git a/backend/src/ee/services/permission/permission-dal.ts b/backend/src/ee/services/permission/permission-dal.ts index 1c4c9c071..b89a3aa3d 100644 --- a/backend/src/ee/services/permission/permission-dal.ts +++ b/backend/src/ee/services/permission/permission-dal.ts @@ -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) {