Continued with clearing more of the team's requests
This commit is contained in:
@@ -3,6 +3,7 @@ import { User } from "@/interfaces/user";
|
||||
import { RolePermission } from "@/resources/entityPermissions";
|
||||
import { mapBy } from "@/utils";
|
||||
import { doesEntityAllow, findAllowedEntities, findAllowedEntitiesSomePermissions } from "@/utils/permissions";
|
||||
import { isAdmin } from "@/utils/users";
|
||||
import { useMemo, useState } from "react";
|
||||
|
||||
export const useAllowedEntities = (user: User, entities: EntityWithRoles[], permission: RolePermission) => {
|
||||
@@ -15,7 +16,9 @@ export const useAllowedEntitiesSomePermissions = (user: User, entities: EntityWi
|
||||
return allowedEntityIds
|
||||
}
|
||||
|
||||
export const useEntityPermission = (user: User, entity: EntityWithRoles, permission: RolePermission) => {
|
||||
const isAllowed = useMemo(() => doesEntityAllow(user, entity, permission), [user, entity, permission])
|
||||
return isAllowed
|
||||
export const useEntityPermission = (user: User, entity?: EntityWithRoles, permission?: RolePermission) => {
|
||||
if (isAdmin(user)) return true
|
||||
if (!entity || !permission) return false
|
||||
|
||||
return doesEntityAllow(user, entity, permission)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user