Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 3x 3x 33x 33x 43x | import { ROLES } from '../constants/roles';
const {
ADMIN, PRODUCT_MANAGER, RELEASE_ENGINEER, DASHBOARD_USER,
} = ROLES;
export const PERMISSIONS = {
'domain.create': [ADMIN],
'domain.delete': [ADMIN],
'experiment.create': [ADMIN, PRODUCT_MANAGER, RELEASE_ENGINEER],
'experiment.edit': [ADMIN, PRODUCT_MANAGER, RELEASE_ENGINEER],
'experiment.delete': [ADMIN],
'target.create': [ADMIN, PRODUCT_MANAGER, RELEASE_ENGINEER],
'target.edit': [ADMIN, PRODUCT_MANAGER, RELEASE_ENGINEER],
'target.delete': [ADMIN],
'template.create': [ADMIN],
'meGroup.create': [ADMIN, PRODUCT_MANAGER, RELEASE_ENGINEER],
'meGroup.delete': [ADMIN],
'emailTemplate.create': [ADMIN],
'emailTemplate.delete': [ADMIN],
'splits.access': [ADMIN, PRODUCT_MANAGER, DASHBOARD_USER],
};
export function hasPermission(action, userRoles = []) {
const allowedRoles = PERMISSIONS[action];
if (!allowedRoles || allowedRoles.length === 0) return true;
return allowedRoles.some((role) => userRoles.includes(role));
}
|