Started implementing the roles permissions

This commit is contained in:
Tiago Ribeiro
2024-10-10 19:13:18 +01:00
parent c43ab9a911
commit 55204e2ce1
67 changed files with 1357 additions and 1134 deletions

View File

@@ -4,7 +4,7 @@ import { Code, Group, User } from "@/interfaces/user";
import axios from "axios";
import { useEffect, useState } from "react";
export default function useEntities(creator?: string) {
export default function useEntities() {
const [entities, setEntities] = useState<EntityWithRoles[]>([]);
const [isLoading, setIsLoading] = useState(false);
const [isError, setIsError] = useState(false);
@@ -17,7 +17,7 @@ export default function useEntities(creator?: string) {
.finally(() => setIsLoading(false));
};
useEffect(getData, [creator]);
useEffect(getData, []);
return { entities, isLoading, isError, reload: getData };
}

View File

@@ -0,0 +1,16 @@
import { EntityWithRoles } from "@/interfaces/entity";
import { User } from "@/interfaces/user";
import { RolePermission } from "@/resources/entityPermissions";
import { mapBy } from "@/utils";
import { doesEntityAllow, findAllowedEntities } from "@/utils/permissions";
import { useMemo, useState } from "react";
export const useAllowedEntities = (user: User, entities: EntityWithRoles[], permission: RolePermission) => {
const allowedEntityIds = useMemo(() => findAllowedEntities(user, entities, permission), [user, entities, permission])
return allowedEntityIds
}
export const useEntityPermission = (user: User, entity: EntityWithRoles, permission: RolePermission) => {
const isAllowed = useMemo(() => doesEntityAllow(user, entity, permission), [user, entity, permission])
return isAllowed
}