Continued with clearing more of the team's requests

This commit is contained in:
Tiago Ribeiro
2024-10-28 15:35:57 +00:00
parent fa0c502467
commit ef857fee59
10 changed files with 70 additions and 19 deletions

View File

@@ -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)
}