in package/src/rbac.ts [301:321]
export function removeAction(role_id: string, action: string, actionType: ActionType): IdentityResponse {
if (roleExists(role_id)) {
let role = getRole(role_id);
if (role as IRoleDefinition) {
let rd = role as IRoleDefinition;
if (actionType === ActionType.Allowed) {
rd.permissions.actions = rd.permissions.actions.filter(ac => ac === action);
updateRole(rd);
return { message: "Action successfully removed from allowed permissions" };
} else if (actionType === ActionType.Denied) {
rd.permissions.notActions = rd.permissions.notActions.filter(nac => nac === action);
updateRole(rd);
return { message: "Action successfully removed from denied permissions" };
} else {
return { message: "Action type invalid." };
}
}
return { message: "Role returned is invalid" };
}
return { message: "Role does not exist" };
}