// /hooks/useFetchWebServiceMap.js import { useEffect } from "react"; import { fetchGisStationsStaticDistrict } from "../services/api/fetchGisStationsStaticDistrict"; import { fetchGisStationsStatusDistrict } from "../services/api/fetchGisStationsStatusDistrict"; import { fetchGisStationsMeasurements } from "../services/api/fetchGisStationsMeasurements"; import { fetchGisSystemStatic } from "../services/api/fetchGisSystemStatic"; export const useFetchWebServiceMap = ( dispatch, mapGisStationsStaticDistrictUrl, mapGisStationsStatusDistrictUrl, mapGisStationsMeasurementsUrl, mapGisSystemStaticUrl, setGisStationsStatusDistrict, setGisStationsMeasurements, setGisSystemStatic, setGisSystemStaticLoaded ) => { useEffect(() => { const fetchWebServiceMap = async () => { try { // Zähler für externe API-Aufrufe in localStorage speichern let requestCount = localStorage.getItem("fetchWebServiceMap") || 0; requestCount = parseInt(requestCount, 10); const fetchOptions = { method: "GET", headers: { Connection: "close", }, }; // Fetch GIS Stations Static District await fetchGisStationsStaticDistrict(mapGisStationsStaticDistrictUrl, dispatch, fetchOptions); requestCount++; localStorage.setItem("fetchWebServiceMap", requestCount); // Fetch GIS Stations Status District await fetchGisStationsStatusDistrict(mapGisStationsStatusDistrictUrl, setGisStationsStatusDistrict, fetchOptions); requestCount++; localStorage.setItem("fetchWebServiceMap", requestCount); // Fetch GIS Stations Measurements await fetchGisStationsMeasurements(mapGisStationsMeasurementsUrl, setGisStationsMeasurements, fetchOptions); requestCount++; localStorage.setItem("fetchWebServiceMap", requestCount); // Fetch GIS System Static await fetchGisSystemStatic(mapGisSystemStaticUrl, setGisSystemStatic, setGisSystemStaticLoaded, fetchOptions); requestCount++; localStorage.setItem("fetchWebServiceMap", requestCount); } catch (error) { console.error("Error fetching data:", error); } }; fetchWebServiceMap(); }, [dispatch, mapGisStationsStaticDistrictUrl, mapGisStationsStatusDistrictUrl, mapGisStationsMeasurementsUrl, mapGisSystemStaticUrl, setGisStationsStatusDistrict, setGisStationsMeasurements, setGisSystemStatic, setGisSystemStaticLoaded]); };