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.
This commit is contained in:
ISA
2024-12-22 07:16:10 +01:00
parent c491b7cf9e
commit 63aa07702c
2 changed files with 35 additions and 12 deletions

View File

@@ -0,0 +1,29 @@
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]);
};