Files
nodeMap/hooks/useFetchUserRights.js
ISA 63aa07702c feat: Fetch-Logik für Benutzerrechte in useFetchUserRights Hook ausgelagert
- Fetch-Logik für Benutzerrechte aus MapComponent.js in einen separaten Hook ausgelagert.
- Neuer Hook: useFetchUserRights im hooks-Verzeichnis hinzugefügt.
- Verbesserung der Modularität und Wiederverwendbarkeit.
2024-12-22 07:16:10 +01:00

30 lines
823 B
JavaScript

import { useEffect } from "react";
import { fetchUserRights } from "../services/apiService";
export const useFetchUserRights = (
setUserRights,
setIsRightsLoaded,
setHasRights
) => {
useEffect(() => {
const fetchAndSetUserRights = async () => {
try {
const rights = await fetchUserRights();
setUserRights(rights);
setIsRightsLoaded(true);
// Sicherstellen, dass `rights` ein Array ist, bevor `.includes()` aufgerufen wird
setHasRights(
localStorage.getItem("editMode") &&
Array.isArray(rights) &&
rights.includes(56)
);
} catch (error) {
console.error("Fehler beim Abrufen der Benutzerrechte:", error);
}
};
fetchAndSetUserRights();
}, [setUserRights, setIsRightsLoaded, setHasRights]);
};