kritsana135-hooray-server
Version:
for server
86 lines (81 loc) • 2.5 kB
JavaScript
export const PERMISSION_KEY = {
USER_CAN_LOGIN: 'USER_CAN_LOGIN',
USER_IS_ADMIN: 'USER_IS_ADMIN',
ADMIN_MANAGE_RESOURCE_USER: 'ADMIN_MANAGE_RESOURCE_USER',
ADMIN_MANAGE_RESOURCE_PERMISSION: 'ADMIN_MANAGE_RESOURCE_PERMISSION',
USER_MANAGE_ADMIN: 'USER_MANAGE_ADMIN',
USER_MANAGE_ADMIN_PERMISSION: 'USER_MANAGE_ADMIN_PERMISSION',
USER_MANAGE_ARTICLE: 'USER_MANAGE_ARTICLE',
USER_MANAGE_CUSTOM_PAGE: 'USER_MANAGE_CUSTOM_PAGE',
USER_MANAGE_BANNER: 'USER_MANAGE_BANNER',
};
export const CODE = {
YES: 'YES',
NO: 'NO',
READ: 'READ',
WRITE: 'WRITE',
};
export const DEFAULT_PERMISSION = [
{
permissionName: PERMISSION_KEY.USER_CAN_LOGIN,
description: 'User can login',
defaultCode: CODE.YES,
code: [CODE.YES, CODE.NO],
},
{
permissionName: PERMISSION_KEY.USER_IS_ADMIN,
description: 'User is type admin, can use admin function',
defaultCode: CODE.NO,
code: [CODE.YES, CODE.NO],
},
{
permissionName: PERMISSION_KEY.ADMIN_MANAGE_RESOURCE_USER,
description: 'Admin can manage user',
defaultCode: CODE.NO,
code: [CODE.NO, CODE.READ, CODE.WRITE],
},
{
permissionName: PERMISSION_KEY.ADMIN_MANAGE_RESOURCE_PERMISSION,
description: 'Admin can manage user permission',
defaultCode: CODE.NO,
code: [CODE.NO, CODE.READ, CODE.WRITE],
},
{
permissionName: PERMISSION_KEY.USER_MANAGE_ADMIN,
description: 'User can manage team member',
defaultCode: CODE.NO,
code: [CODE.NO, CODE.READ, CODE.WRITE],
},
{
permissionName: PERMISSION_KEY.USER_MANAGE_ADMIN_PERMISSION,
description: 'User can manage user',
defaultCode: CODE.NO,
code: [CODE.NO, CODE.READ, CODE.WRITE],
},
{
permissionName: PERMISSION_KEY.USER_MANAGE_ARTICLE,
description: 'User can manage article',
defaultCode: CODE.NO,
code: [CODE.NO, CODE.READ, CODE.WRITE],
},
{
permissionName: PERMISSION_KEY.USER_MANAGE_CUSTOM_PAGE,
description: 'User can manage custom page',
defaultCode: CODE.NO,
code: [CODE.NO, CODE.READ, CODE.WRITE],
},
{
permissionName: PERMISSION_KEY.USER_MANAGE_BANNER,
description: 'User can manage banner',
defaultCode: CODE.NO,
code: [CODE.NO, CODE.READ, CODE.WRITE],
},
];
const getPermission = () => {
let permission = {};
DEFAULT_PERMISSION.forEach((element) => {
permission = { ...permission, [element.permissionName]: element.permissionName };
});
return permission;
};
export const PERMISSION = getPermission();