refactor: move variable out of function
Some checks failed
Spell Check / Spell Check with Typos (push) Failing after 5s
Some checks failed
Spell Check / Spell Check with Typos (push) Failing after 5s
This commit is contained in:
parent
5e76c4d50d
commit
d880e1a1c5
1 changed files with 62 additions and 61 deletions
|
|
@ -232,71 +232,72 @@ export function isRoleInclude(role2check: string[]): boolean {
|
|||
return isIncluded;
|
||||
}
|
||||
|
||||
const allRoles = [
|
||||
'head_of_admin',
|
||||
'admin',
|
||||
'executive',
|
||||
'accountant',
|
||||
'branch_admin',
|
||||
'branch_manager',
|
||||
'branch_accountant',
|
||||
'head_of_sale',
|
||||
'sale',
|
||||
'data_entry',
|
||||
'document_checker',
|
||||
'messenger',
|
||||
'corporate_customer',
|
||||
'agency',
|
||||
];
|
||||
|
||||
const permissions = {
|
||||
branch: {
|
||||
edit: allRoles.slice(0, 7),
|
||||
view: allRoles.slice(0, 7),
|
||||
},
|
||||
personnel: {
|
||||
edit: allRoles.slice(0, 6).filter((r) => r !== 'accountant'),
|
||||
view: allRoles.slice(0, 6).filter((r) => r !== 'accountant'),
|
||||
},
|
||||
product: {
|
||||
edit: allRoles.slice(0, 7),
|
||||
view: allRoles,
|
||||
},
|
||||
workflow: {
|
||||
edit: allRoles.slice(0, 6),
|
||||
view: allRoles.filter((r) => r !== 'branch_accountant'),
|
||||
},
|
||||
customer: {
|
||||
edit: allRoles.slice(0, 6),
|
||||
view: allRoles.slice(0, 8),
|
||||
},
|
||||
agencies: {
|
||||
edit: allRoles.slice(0, 7),
|
||||
view: allRoles,
|
||||
},
|
||||
related: {
|
||||
// ใช้กับหลายเมนู
|
||||
edit: allRoles.slice(0, 6),
|
||||
view: allRoles,
|
||||
},
|
||||
account: {
|
||||
edit: allRoles.slice(0, 6),
|
||||
view: allRoles.slice(0, 7),
|
||||
},
|
||||
uploadSlip: {
|
||||
edit: allRoles.slice(0, 6),
|
||||
view: allRoles.filter((r) => r !== 'head_of_sale' && r !== 'sale'),
|
||||
},
|
||||
dashBoard: {
|
||||
edit: allRoles.slice(0, 6).filter((r) => r !== 'admin'),
|
||||
view: allRoles.filter((r) => r !== 'admin'),
|
||||
},
|
||||
};
|
||||
|
||||
export function canAccess(
|
||||
menu: string,
|
||||
menu: keyof typeof permissions,
|
||||
action: 'edit' | 'view' = 'view',
|
||||
): boolean {
|
||||
// uma_authorization = all roles
|
||||
const allRoles = [
|
||||
'head_of_admin',
|
||||
'admin',
|
||||
'executive',
|
||||
'accountant',
|
||||
'branch_admin',
|
||||
'branch_manager',
|
||||
'branch_accountant',
|
||||
'head_of_sale',
|
||||
'sale',
|
||||
'data_entry',
|
||||
'document_checker',
|
||||
'messenger',
|
||||
'corporate_customer',
|
||||
'agency',
|
||||
];
|
||||
|
||||
const permissions = {
|
||||
branch: {
|
||||
edit: allRoles.slice(0, 7),
|
||||
view: allRoles.slice(0, 7),
|
||||
},
|
||||
personnel: {
|
||||
edit: allRoles.slice(0, 6).filter((r) => r !== 'accountant'),
|
||||
view: allRoles.slice(0, 6).filter((r) => r !== 'accountant'),
|
||||
},
|
||||
product: {
|
||||
edit: allRoles.slice(0, 7),
|
||||
view: allRoles,
|
||||
},
|
||||
workflow: {
|
||||
edit: allRoles.slice(0, 6),
|
||||
view: allRoles.filter((r) => r !== 'branch_accountant'),
|
||||
},
|
||||
customer: {
|
||||
edit: allRoles.slice(0, 6),
|
||||
view: allRoles.slice(0, 8),
|
||||
},
|
||||
agencies: {
|
||||
edit: allRoles.slice(0, 7),
|
||||
view: allRoles,
|
||||
},
|
||||
related: {
|
||||
// ใช้กับหลายเมนู
|
||||
edit: allRoles.slice(0, 6),
|
||||
view: allRoles,
|
||||
},
|
||||
account: {
|
||||
edit: allRoles.slice(0, 6),
|
||||
view: allRoles.slice(0, 7),
|
||||
},
|
||||
uploadSlip: {
|
||||
edit: allRoles.slice(0, 6),
|
||||
view: allRoles.filter((r) => r !== 'head_of_sale' && r !== 'sale'),
|
||||
},
|
||||
dashBoard: {
|
||||
edit: allRoles.slice(0, 6).filter((r) => r !== 'admin'),
|
||||
view: allRoles.filter((r) => r !== 'admin'),
|
||||
},
|
||||
};
|
||||
const roles = getRole() ?? [];
|
||||
if (roles.includes('system')) return true;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue