diff --git a/resources/js/hooks/usePermission.ts b/resources/js/hooks/usePermission.ts index b6e35e2..5e65e89 100644 --- a/resources/js/hooks/usePermission.ts +++ b/resources/js/hooks/usePermission.ts @@ -11,25 +11,31 @@ export function usePermission() { /** * 檢查使用者是否擁有指定權限 + * 超級管理員自動擁有所有權限 */ const can = (permission: string): boolean => { if (!user) return false; + if (user.roles.includes('super-admin')) return true; return user.permissions.includes(permission); }; /** * 檢查使用者是否擁有任一指定權限 + * 超級管理員自動擁有所有權限 */ const canAny = (permissions: string[]): boolean => { if (!user) return false; + if (user.roles.includes('super-admin')) return true; return permissions.some(p => user.permissions.includes(p)); }; /** * 檢查使用者是否擁有所有指定權限 + * 超級管理員自動擁有所有權限 */ const canAll = (permissions: string[]): boolean => { if (!user) return false; + if (user.roles.includes('super-admin')) return true; return permissions.every(p => user.permissions.includes(p)); };