RBAC Improvements
Caching improvements Maker-Checker Implementation
This commit is contained in:
@@ -31,6 +31,7 @@ import {
|
||||
updateUserStatus,
|
||||
getSystemClaims,
|
||||
} from '../../services/api';
|
||||
import { clearCachedUserRbac } from '../../services/roleClaimsCache';
|
||||
import { HelpTooltip } from '../ui/HelpTooltip';
|
||||
import { ObfuscatedIdNumber } from '../ui/ObfuscatedIdNumber';
|
||||
import { decodeIdNumberHex } from '../../utils/hashids';
|
||||
@@ -58,7 +59,6 @@ export const UserSecurityModal: React.FC<UserSecurityModalProps> = ({
|
||||
canApprove('settings_users') ||
|
||||
canApprove('tenant_management') ||
|
||||
canApprove('tenant_self_service') ||
|
||||
canAdd('tenant_self_service') ||
|
||||
isUnrestricted;
|
||||
const canManageSessions =
|
||||
canApprove('settings_users') ||
|
||||
@@ -129,6 +129,7 @@ export const UserSecurityModal: React.FC<UserSecurityModalProps> = ({
|
||||
return assignUserRole(userId, roleId);
|
||||
},
|
||||
onSuccess: () => {
|
||||
clearCachedUserRbac(userId);
|
||||
success('Role Assigned', 'Role membership updated successfully.');
|
||||
refetchUserRoles();
|
||||
setSelectedRoleToAdd('');
|
||||
@@ -139,6 +140,7 @@ export const UserSecurityModal: React.FC<UserSecurityModalProps> = ({
|
||||
const removeRoleMutation = useMutation({
|
||||
mutationFn: (roleId: string) => removeUserRole(userId, roleId),
|
||||
onSuccess: () => {
|
||||
clearCachedUserRbac(userId);
|
||||
success('Role Removed', 'Role revoked from user.');
|
||||
refetchUserRoles();
|
||||
},
|
||||
@@ -160,6 +162,7 @@ export const UserSecurityModal: React.FC<UserSecurityModalProps> = ({
|
||||
});
|
||||
},
|
||||
onSuccess: () => {
|
||||
clearCachedUserRbac(userId);
|
||||
success('Claim Granted', 'User claim added successfully.');
|
||||
refetchUserClaims();
|
||||
setNewClaimType('');
|
||||
@@ -171,6 +174,7 @@ export const UserSecurityModal: React.FC<UserSecurityModalProps> = ({
|
||||
const deleteClaimMutation = useMutation({
|
||||
mutationFn: (claimId: string | number) => deleteUserClaim(userId, claimId),
|
||||
onSuccess: () => {
|
||||
clearCachedUserRbac(userId);
|
||||
success('Claim Revoked', 'Claim removed from user.');
|
||||
refetchUserClaims();
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user