hrms-mgt/src/utils/permissions.ts

57 lines
1.3 KiB
TypeScript
Raw Normal View History

2024-07-31 09:48:33 +07:00
/**
* Function permission user
*/
import { useMenuDataStore } from "@/stores/menuList";
import type { RoleData } from "@/interface/main";
const storeMenu = useMenuDataStore();
export function checkPermission(route: any): RoleData | null {
if (storeMenu.permissions && route.meta.Key) {
const role =
2024-08-01 14:10:35 +07:00
storeMenu.permissions.roles.find(
(item) => item.authSysId === route.meta.Key
2024-07-31 09:48:33 +07:00
) ?? null;
2024-08-01 14:10:35 +07:00
2024-07-31 09:48:33 +07:00
return role;
} else {
return null;
}
}
export function checkPermissionCreate(sys: string) {
if (storeMenu.permissions && sys) {
return (
storeMenu.permissions.roles.find(
(item) => item.authSysId === sys && item.attrIsCreate
) ?? false
);
} else {
return false;
}
}
export function checkPermissionList(sys: string[]) {
if (storeMenu.permissions && sys) {
return (
storeMenu.permissions.roles.some(
2024-08-28 18:05:05 +07:00
(item) => sys.includes(item.authSysId) && item.attrIsList
) ?? false
);
} else {
return false;
}
}
2024-08-29 10:25:35 +07:00
export function checkPermissionGet(sys: string ) {
2024-08-28 18:05:05 +07:00
if (storeMenu.permissions && sys) {
return (
storeMenu.permissions.roles.some(
(item) => sys.includes(item.authSysId) && item.attrIsGet
) ?? false
);
} else {
return false;
}
}