This commit is contained in:
@@ -26,14 +26,34 @@ const getCurrentPermissions = () => {
|
||||
return Array.isArray(permissions) ? permissions : [];
|
||||
};
|
||||
|
||||
const SYSTEM_ACCESS_PERMISSION = 'System Access';
|
||||
const DRIVER_BYPASS_PERMISSION = 'isDriver';
|
||||
|
||||
const hasSystemAccess = () => {
|
||||
return getCurrentPermissions().includes(SYSTEM_ACCESS_PERMISSION);
|
||||
};
|
||||
|
||||
const hasPermission = (permissionKey) => {
|
||||
if (!permissionKey) return false;
|
||||
return getCurrentPermissions().includes(permissionKey);
|
||||
const permissionSet = new Set(getCurrentPermissions());
|
||||
if (permissionKey === DRIVER_BYPASS_PERMISSION) {
|
||||
return permissionSet.has(DRIVER_BYPASS_PERMISSION);
|
||||
}
|
||||
if (permissionKey === SYSTEM_ACCESS_PERMISSION) {
|
||||
return permissionSet.has(SYSTEM_ACCESS_PERMISSION);
|
||||
}
|
||||
if (!permissionSet.has(SYSTEM_ACCESS_PERMISSION)) {
|
||||
return false;
|
||||
}
|
||||
return permissionSet.has(permissionKey);
|
||||
};
|
||||
|
||||
const hasAnyPermission = (permissionKeys = []) => {
|
||||
if (!Array.isArray(permissionKeys) || permissionKeys.length === 0) return false;
|
||||
const permissionSet = new Set(getCurrentPermissions());
|
||||
if (!permissionSet.has(SYSTEM_ACCESS_PERMISSION)) {
|
||||
return permissionKeys.some((permissionKey) => permissionKey === DRIVER_BYPASS_PERMISSION && permissionSet.has(DRIVER_BYPASS_PERMISSION));
|
||||
}
|
||||
return permissionKeys.some((permissionKey) => permissionSet.has(permissionKey));
|
||||
};
|
||||
|
||||
|
||||
@@ -126,6 +126,9 @@ export const EMPLOYEE_TITLE_ROLES_MAP = {
|
||||
export const INVITATION_CODE = ['ws5801care', 'world911street'];
|
||||
|
||||
export const EMPLOYEE_PERMISSION_GROUPS = {
|
||||
System: [
|
||||
'System Access'
|
||||
],
|
||||
Dashboard: [
|
||||
'Dashboard',
|
||||
'Admin View'
|
||||
|
||||
Reference in New Issue
Block a user