mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
fix: correct how identity permissions are parsed on form load
This commit is contained in:
@@ -581,6 +581,7 @@ export const rolePermission2Form = (permissions: TProjectPermission[] = []) => {
|
||||
ProjectPermissionSub.IpAllowList,
|
||||
ProjectPermissionSub.CertificateAuthorities,
|
||||
ProjectPermissionSub.PkiAlerts,
|
||||
ProjectPermissionSub.Identity,
|
||||
ProjectPermissionSub.PkiCollections,
|
||||
ProjectPermissionSub.Tags,
|
||||
ProjectPermissionSub.SecretRotation,
|
||||
@@ -786,6 +787,41 @@ export const rolePermission2Form = (permissions: TProjectPermission[] = []) => {
|
||||
return;
|
||||
}
|
||||
|
||||
if (subject === ProjectPermissionSub.Identity) {
|
||||
const canRead = action.includes(ProjectPermissionIdentityActions.Read);
|
||||
const canCreate = action.includes(ProjectPermissionIdentityActions.Create);
|
||||
const canEdit = action.includes(ProjectPermissionIdentityActions.Edit);
|
||||
const canDelete = action.includes(ProjectPermissionIdentityActions.Delete);
|
||||
const canGrantPrivileges = action.includes(
|
||||
ProjectPermissionIdentityActions.GrantPrivileges
|
||||
);
|
||||
const canAssumePrivileges = action.includes(
|
||||
ProjectPermissionIdentityActions.AssumePrivileges
|
||||
);
|
||||
const canRevokeAuth = action.includes(ProjectPermissionIdentityActions.RevokeAuth);
|
||||
const canCreateToken = action.includes(ProjectPermissionIdentityActions.CreateToken);
|
||||
const canGetToken = action.includes(ProjectPermissionIdentityActions.GetToken);
|
||||
const canDeleteToken = action.includes(ProjectPermissionIdentityActions.DeleteToken);
|
||||
|
||||
// from above statement we are sure it won't be undefined
|
||||
formVal[subject]!.push({
|
||||
[ProjectPermissionIdentityActions.Read]: canRead,
|
||||
[ProjectPermissionIdentityActions.Create]: canCreate,
|
||||
[ProjectPermissionIdentityActions.Edit]: canEdit,
|
||||
[ProjectPermissionIdentityActions.Delete]: canDelete,
|
||||
[ProjectPermissionIdentityActions.GrantPrivileges]: canGrantPrivileges,
|
||||
[ProjectPermissionIdentityActions.AssumePrivileges]: canAssumePrivileges,
|
||||
[ProjectPermissionIdentityActions.RevokeAuth]: canRevokeAuth,
|
||||
[ProjectPermissionIdentityActions.CreateToken]: canCreateToken,
|
||||
[ProjectPermissionIdentityActions.GetToken]: canGetToken,
|
||||
[ProjectPermissionIdentityActions.DeleteToken]: canDeleteToken,
|
||||
conditions: conditions ? convertCaslConditionToFormOperator(conditions) : [],
|
||||
inverted
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// for other subjects
|
||||
const canRead = action.includes(ProjectPermissionActions.Read);
|
||||
const canEdit = action.includes(ProjectPermissionActions.Edit);
|
||||
@@ -957,38 +993,6 @@ export const rolePermission2Form = (permissions: TProjectPermission[] = []) => {
|
||||
return;
|
||||
}
|
||||
|
||||
if (subject === ProjectPermissionSub.Identity) {
|
||||
const canRead = action.includes(ProjectPermissionIdentityActions.Read);
|
||||
const canCreate = action.includes(ProjectPermissionIdentityActions.Create);
|
||||
const canEdit = action.includes(ProjectPermissionIdentityActions.Edit);
|
||||
const canDelete = action.includes(ProjectPermissionIdentityActions.Delete);
|
||||
const canGrantPrivileges = action.includes(ProjectPermissionIdentityActions.GrantPrivileges);
|
||||
const canAssumePrivileges = action.includes(
|
||||
ProjectPermissionIdentityActions.AssumePrivileges
|
||||
);
|
||||
const canRevokeAuth = action.includes(ProjectPermissionIdentityActions.RevokeAuth);
|
||||
const canCreateToken = action.includes(ProjectPermissionIdentityActions.CreateToken);
|
||||
const canGetToken = action.includes(ProjectPermissionIdentityActions.GetToken);
|
||||
const canDeleteToken = action.includes(ProjectPermissionIdentityActions.DeleteToken);
|
||||
|
||||
if (!formVal[subject]) formVal[subject] = [{ conditions: [] }];
|
||||
|
||||
// from above statement we are sure it won't be undefined
|
||||
if (canRead) formVal[subject]![0][ProjectPermissionIdentityActions.Read] = true;
|
||||
if (canCreate) formVal[subject]![0][ProjectPermissionIdentityActions.Create] = true;
|
||||
if (canEdit) formVal[subject]![0][ProjectPermissionIdentityActions.Edit] = true;
|
||||
if (canDelete) formVal[subject]![0][ProjectPermissionIdentityActions.Delete] = true;
|
||||
if (canGrantPrivileges)
|
||||
formVal[subject]![0][ProjectPermissionIdentityActions.GrantPrivileges] = true;
|
||||
if (canAssumePrivileges)
|
||||
formVal[subject]![0][ProjectPermissionIdentityActions.AssumePrivileges] = true;
|
||||
if (canRevokeAuth) formVal[subject]![0][ProjectPermissionIdentityActions.RevokeAuth] = true;
|
||||
if (canCreateToken) formVal[subject]![0][ProjectPermissionIdentityActions.CreateToken] = true;
|
||||
if (canGetToken) formVal[subject]![0][ProjectPermissionIdentityActions.GetToken] = true;
|
||||
if (canDeleteToken) formVal[subject]![0][ProjectPermissionIdentityActions.DeleteToken] = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (subject === ProjectPermissionSub.Groups) {
|
||||
const canRead = action.includes(ProjectPermissionGroupActions.Read);
|
||||
const canCreate = action.includes(ProjectPermissionGroupActions.Create);
|
||||
|
||||
Reference in New Issue
Block a user