mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-08 09:27:50 +00:00
Patch getProjectPermission
This commit is contained in:
@@ -482,8 +482,8 @@ export const registerScimRouter = async (server: FastifyZodProvider) => {
|
|||||||
},
|
},
|
||||||
onRequest: verifyAuth([AuthMode.SCIM_TOKEN]),
|
onRequest: verifyAuth([AuthMode.SCIM_TOKEN]),
|
||||||
handler: async (req) => {
|
handler: async (req) => {
|
||||||
console.log("PATCH /Groups/:groupId req.body: ", req.body);
|
// 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.Operations[0]);
|
||||||
const group = await req.server.services.scim.updateScimGroupNamePatch({
|
const group = await req.server.services.scim.updateScimGroupNamePatch({
|
||||||
groupId: req.params.groupId,
|
groupId: req.params.groupId,
|
||||||
orgId: req.permission.orgId,
|
orgId: req.permission.orgId,
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ export const permissionDALFactory = (db: TDbClient) => {
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
const groupRoles = groupDocs.length
|
const groupPermission = groupDocs.length
|
||||||
? sqlNestRelationships({
|
? sqlNestRelationships({
|
||||||
data: groupDocs,
|
data: groupDocs,
|
||||||
key: "projectId",
|
key: "projectId",
|
||||||
@@ -207,16 +207,23 @@ export const permissionDALFactory = (db: TDbClient) => {
|
|||||||
}).parse(data)
|
}).parse(data)
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
})?.[0]?.roles
|
})
|
||||||
: [];
|
: [];
|
||||||
|
|
||||||
if (!permission?.[0]) return undefined;
|
if (!permission?.[0] && !groupPermission[0]) return undefined;
|
||||||
|
|
||||||
// when introducting cron mode change it here
|
// when introducting cron mode change it here
|
||||||
const activeRoles = permission?.[0]?.roles?.filter(
|
const activeRoles =
|
||||||
({ isTemporary, temporaryAccessEndTime }) =>
|
permission?.[0]?.roles?.filter(
|
||||||
!isTemporary || (isTemporary && temporaryAccessEndTime && new Date() < temporaryAccessEndTime)
|
({ 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(
|
const activeAdditionalPrivileges = permission?.[0]?.additionalPrivileges?.filter(
|
||||||
({ isTemporary, temporaryAccessEndTime }) =>
|
({ isTemporary, temporaryAccessEndTime }) =>
|
||||||
@@ -224,8 +231,8 @@ export const permissionDALFactory = (db: TDbClient) => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...permission[0],
|
...(permission[0] || groupPermission[0]),
|
||||||
roles: [...activeRoles, ...groupRoles],
|
roles: [...activeRoles, ...activeGroupRoles],
|
||||||
additionalPrivileges: activeAdditionalPrivileges
|
additionalPrivileges: activeAdditionalPrivileges
|
||||||
};
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user