import { usePermissionStore } from "@/store/permissionStore"; import { useAuthStore } from "@/store/authStore"; export function usePermissions() { const roles = usePermissionStore((s) => s.roles); const permissions = usePermissionStore((s) => s.permissions); const isAuthenticated = useAuthStore((s) => !!s.accessToken); const hasPermission = (permission: string) => permissions.includes(permission); const hasRole = (role: string) => roles.includes(role); return { roles, permissions, isAuthenticated, isAdmin: hasRole("ADMIN"), isAdminOrManager: hasRole("ADMIN") || hasRole("USER_ROLE_ADMIN"), canManageUsers: hasPermission("USER_MANAGE") || hasRole("USER_ROLE_ADMIN"), canManageRoles: hasPermission("ROLE_MANAGE") || hasRole("USER_ROLE_ADMIN"), canApproveWorkflow: hasPermission("WORKFLOW_APPROVE") || hasRole("CHECKER"), canReadProfile: hasPermission("USER_READ") || hasRole("ADMIN") }; }