60 lines
2.4 KiB
JavaScript
60 lines
2.4 KiB
JavaScript
// /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]);
|
|
};
|