This commit is contained in:
@@ -29,6 +29,8 @@ const getCurrentPermissions = () => {
|
|||||||
const SYSTEM_ACCESS_PERMISSION = 'System Access';
|
const SYSTEM_ACCESS_PERMISSION = 'System Access';
|
||||||
const DRIVER_BYPASS_PERMISSION = 'isDriver';
|
const DRIVER_BYPASS_PERMISSION = 'isDriver';
|
||||||
const SYSTEM_ACCESS_BYPASS_USERS = new Set(['testadmin03']);
|
const SYSTEM_ACCESS_BYPASS_USERS = new Set(['testadmin03']);
|
||||||
|
const getPermissionSet = () => new Set(getCurrentPermissions());
|
||||||
|
const hasRawPermission = (permissionKey) => getPermissionSet().has(permissionKey);
|
||||||
|
|
||||||
const isSystemAccessBypassUser = () => {
|
const isSystemAccessBypassUser = () => {
|
||||||
const user = getCurrentUser();
|
const user = getCurrentUser();
|
||||||
@@ -44,14 +46,13 @@ const isSystemAccessBypassUser = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const hasSystemAccess = () => {
|
const hasSystemAccess = () => {
|
||||||
return isSystemAccessBypassUser() || getCurrentPermissions().includes(SYSTEM_ACCESS_PERMISSION);
|
return isSystemAccessBypassUser() || hasRawPermission(SYSTEM_ACCESS_PERMISSION);
|
||||||
};
|
};
|
||||||
|
|
||||||
const hasPermission = (permissionKey) => {
|
const hasPermission = (permissionKey) => {
|
||||||
if (!permissionKey) return false;
|
if (!permissionKey) return false;
|
||||||
const permissionSet = new Set(getCurrentPermissions());
|
|
||||||
if (permissionKey === DRIVER_BYPASS_PERMISSION) {
|
if (permissionKey === DRIVER_BYPASS_PERMISSION) {
|
||||||
return permissionSet.has(DRIVER_BYPASS_PERMISSION);
|
return hasRawPermission(DRIVER_BYPASS_PERMISSION);
|
||||||
}
|
}
|
||||||
if (permissionKey === SYSTEM_ACCESS_PERMISSION) {
|
if (permissionKey === SYSTEM_ACCESS_PERMISSION) {
|
||||||
return hasSystemAccess();
|
return hasSystemAccess();
|
||||||
@@ -59,16 +60,17 @@ const hasPermission = (permissionKey) => {
|
|||||||
if (!hasSystemAccess()) {
|
if (!hasSystemAccess()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return permissionSet.has(permissionKey);
|
return hasRawPermission(permissionKey);
|
||||||
};
|
};
|
||||||
|
|
||||||
const hasAnyPermission = (permissionKeys = []) => {
|
const hasAnyPermission = (permissionKeys = []) => {
|
||||||
if (!Array.isArray(permissionKeys) || permissionKeys.length === 0) return false;
|
if (!Array.isArray(permissionKeys) || permissionKeys.length === 0) return false;
|
||||||
const permissionSet = new Set(getCurrentPermissions());
|
|
||||||
if (!hasSystemAccess()) {
|
if (!hasSystemAccess()) {
|
||||||
return permissionKeys.some((permissionKey) => permissionKey === DRIVER_BYPASS_PERMISSION && permissionSet.has(DRIVER_BYPASS_PERMISSION));
|
return permissionKeys.some((permissionKey) => permissionKey === DRIVER_BYPASS_PERMISSION && hasRawPermission(DRIVER_BYPASS_PERMISSION));
|
||||||
}
|
}
|
||||||
return permissionKeys.some((permissionKey) => permissionSet.has(permissionKey));
|
return permissionKeys
|
||||||
|
.filter((permissionKey) => permissionKey && permissionKey !== SYSTEM_ACCESS_PERMISSION)
|
||||||
|
.some((permissionKey) => hasRawPermission(permissionKey));
|
||||||
};
|
};
|
||||||
|
|
||||||
const CUSTOMER_VIEW_TAB_PERMISSION_MAP = {
|
const CUSTOMER_VIEW_TAB_PERMISSION_MAP = {
|
||||||
|
|||||||
Reference in New Issue
Block a user