trc-client-core
Version:
The core of the TRC Client
25 lines (23 loc) • 1.83 kB
JavaScript
const ALL_ADMINS = ['ROLE_TMCA_ADMIN', 'ROLE_TECH_ADMIN', 'ROLE_BODY_PAINT_ADMIN', 'ROLE_REGIONAL_ADMIN', 'ROLE_SUPER_ADMIN', 'ROLE_MEGA_ADMIN'];
const SITE_ADMIN = ['ROLE_MEGA_ADMIN', 'ROLE_SUPER_ADMIN'];
const Permission = {
ADMIN_AREA: (user) => user.isAny(SITE_ADMIN),
ALL_ADMINS: (user) => user.isAny(ALL_ADMINS),
CLIENT_APPROVAL: (user) => user.is('ROLE_SUPER_ADMIN'),
GAPREPORT_TECHNICAL: (user) => user.is('ROLE_TECH_MANAGER'),
GAPREPORT_TFL: (user) => user.is('ROLE_MANAGER') && !Permission.TMCA_STAFF(user),
GAPREPORT_WARRANTY: (user) => user.isAny(ALL_ADMINS),
HIDDEN_FEATURES: (user) => user.is('ROLE_MEGA_ADMIN'),
REPORT_VISIBILITY_NATIONAL: (user) => user.isAny(['ROLE_TMCA_ADMIN'].concat(SITE_ADMIN)),
REPORT_VISIBILITY_REGIONAL: (user) => user.isAny(ALL_ADMINS),
REQUIRED_ROLES: (user) => user.isAny(['ROLE_TMCA_ADMIN'].concat(SITE_ADMIN)),
SERVICE_EXCELLENCE_REPORT: (user) => user.isAny(ALL_ADMINS),
SWITCH_USER: (user) => user.isAny(ALL_ADMINS),
TECHNICAL: (user) => user.isAny(['ROLE_SERVICE'].concat(ALL_ADMINS)),
TECHNICAL_ADMIN: (user) => user.isAny(['ROLE_TECH_ADMIN'].concat(SITE_ADMIN)),
TECHNICAL_TRAINING_REQUESTS: (user) => user.isAny(['ROLE_TMCA_ADMIN', 'ROLE_TECH_ADMIN']),
TMCA_ADMIN_AND_STAFF: (user) => user.isAny(['ROLE_TMCA_ADMIN', 'ROLE_TMCA_INTERNAL']),
TRAINING_ACTIVITY_SUMMARY: (user) => user.isAny(['ROLE_TMCA_ADMIN', 'ROLE_MANAGER']) && user.isnt('ROLE_TMCA_INTERNAL'),
TMCA_STAFF: (user) => user.is('ROLE_TMCA_INTERNAL') && !user.isAny(ALL_ADMINS)
};
export default Permission;