erp-platform/ui/src/utils/hooks/usePermission.ts

33 lines
732 B
TypeScript
Raw Normal View History

2025-05-06 06:45:49 +00:00
import { useStoreState } from '@/store'
const usePermission = () => {
const grantedPolicies = useStoreState((state) => state.abpConfig?.config?.auth.grantedPolicies)
const checkPermissions = (permissionsToCheck: string[] = []) => {
return permissionsToCheck?.length
? grantedPolicies
? permissionsToCheck.every((p) => p === '' || grantedPolicies[p] === true)
: false
: true
}
const checkPermission = (permissionToCheck?: string) => {
if (!permissionToCheck) {
return true
}
if (!grantedPolicies) {
return false
}
return grantedPolicies[permissionToCheck] === true
}
return {
checkPermission,
checkPermissions,
}
}
export { usePermission }