permission form

This commit is contained in:
Julian Krauser 2024-08-27 11:46:24 +02:00
parent 04e66dd918
commit 68efdc131b
8 changed files with 273 additions and 3 deletions

View file

@ -15,7 +15,31 @@ export const useAbilityStore = defineStore("ability", {
if (type == "admin") return permissions.admin ?? false;
if (permissions.admin) return true;
if (
(!module && permissions[section] != undefined) ||
(!module &&
permissions[section] != undefined &&
(permissions[section]?.all == "*" || permissions[section]?.all?.includes(type))) ||
permissions[section]?.all == "*" ||
permissions[section]?.all?.includes(type)
)
return true;
if (module && (permissions[section]?.[module] == "*" || permissions[section]?.[module]?.includes(type)))
return true;
return false;
},
_can:
() =>
(
permissions: PermissionObject,
type: PermissionType | "admin",
section: PermissionSection,
module?: PermissionModule
): boolean => {
if (type == "admin") return permissions.admin ?? false;
if (permissions.admin) return true;
if (
(!module &&
permissions[section] != undefined &&
(permissions[section]?.all == "*" || permissions[section]?.all?.includes(type))) ||
permissions[section]?.all == "*" ||
permissions[section]?.all?.includes(type)
)