From e3b8f7f0fcc444ea4f519c25a3cccfa759df4849 Mon Sep 17 00:00:00 2001 From: ISA Date: Tue, 20 May 2025 12:20:28 +0200 Subject: [PATCH] refactor: fetchGisStationsStatusDistrictService korrigiert und aktiv im Projekt eingebunden --- .../hooks/useFetchWebServiceMap.js | 6 ++-- config/appVersion.js | 2 +- .../api/fetchGisStationsStaticDistrict.js | 18 ---------- .../fetchGisStationsStaticDistrictService.js | 36 +++++++++++++++++++ .../api/fetchGisStationsStatusDistrict.js | 17 --------- .../fetchGisStationsStatusDistrictService.js | 36 +++++++++++++++++++ 6 files changed, 76 insertions(+), 39 deletions(-) delete mode 100644 services/api/fetchGisStationsStaticDistrict.js create mode 100644 services/api/fetchGisStationsStaticDistrictService.js delete mode 100644 services/api/fetchGisStationsStatusDistrict.js create mode 100644 services/api/fetchGisStationsStatusDistrictService.js diff --git a/components/mainComponent/hooks/useFetchWebServiceMap.js b/components/mainComponent/hooks/useFetchWebServiceMap.js index bb89441a8..861d3b762 100644 --- a/components/mainComponent/hooks/useFetchWebServiceMap.js +++ b/components/mainComponent/hooks/useFetchWebServiceMap.js @@ -1,6 +1,6 @@ // /components/mainComponent/hooks/useFetchWebServiceMap.js import { useEffect } from "react"; -import { fetchGisStationsStatusDistrict } from "../../../services/api/fetchGisStationsStatusDistrict"; +import { fetchGisStationsStatusDistrictService } from "../../../services/api/fetchGisStationsStatusDistrictService"; import { fetchGisStationsMeasurementsService } from "../../../services/api/fetchGisStationsMeasurementsService"; import { fetchGisSystemStatic } from "../../../services/api/fetchGisSystemStatic"; @@ -22,8 +22,8 @@ const useFetchWebServiceMap = (mapGisStationsStatusDistrictUrl, mapGisStationsMe // GIS Stations Status District abrufen //console.log("⏳ Abrufen von GIS Stations Status District..."); - await fetchGisStationsStatusDistrict(mapGisStationsStatusDistrictUrl, setGisStationsStatusDistrict, fetchOptions); - // console.log("✅ fetchGisStationsStatusDistrict erfolgreich!"); + await fetchGisStationsStatusDistrictService(mapGisStationsStatusDistrictUrl, setGisStationsStatusDistrict, fetchOptions); + // console.log("✅ fetchGisStationsStatusDistrictService erfolgreich!"); requestCount++; localStorage.setItem("fetchWebServiceMap", requestCount); diff --git a/config/appVersion.js b/config/appVersion.js index 0ef19eaa0..79a6c8f1c 100644 --- a/config/appVersion.js +++ b/config/appVersion.js @@ -1,2 +1,2 @@ // /config/appVersion -export const APP_VERSION = "1.1.115"; +export const APP_VERSION = "1.1.116"; diff --git a/services/api/fetchGisStationsStaticDistrict.js b/services/api/fetchGisStationsStaticDistrict.js deleted file mode 100644 index 54a11c5de..000000000 --- a/services/api/fetchGisStationsStaticDistrict.js +++ /dev/null @@ -1,18 +0,0 @@ -// /services/api/fetchGisStationsStaticDistrict.js -import { setGisStationsStaticDistrict } from "../../redux/slices/webService/gisStationsStaticDistrictSlice"; - -export const fetchGisStationsStaticDistrict = async (url, dispatch, fetchOptions) => { - try { - const response = await fetch(url, fetchOptions); - const jsonResponse = await response.json(); - if (jsonResponse && jsonResponse.Points) { - dispatch(setGisStationsStaticDistrict(jsonResponse.Points)); - } else { - console.error('Erwartete Daten im "Points"-Array nicht gefunden', jsonResponse); - dispatch(setGisStationsStaticDistrict([])); - } - } catch (error) { - console.error("Fehler beim Laden der Daten: ", error); - dispatch(setGisStationsStaticDistrict([])); - } -}; diff --git a/services/api/fetchGisStationsStaticDistrictService.js b/services/api/fetchGisStationsStaticDistrictService.js new file mode 100644 index 000000000..259c0619c --- /dev/null +++ b/services/api/fetchGisStationsStaticDistrictService.js @@ -0,0 +1,36 @@ +// /services/api/fetchGisStationsStaticDistrictService.js + +/** + * Holt statische GIS-Stationen-Daten für Bezirke. + * + * @returns {Promise} Liste mit Points[] + * @throws {Error} bei Fehler oder ungültiger Antwortstruktur + */ +export const fetchGisStationsStaticDistrictService = async () => { + const mode = process.env.NEXT_PUBLIC_API_PORT_MODE; + + const apiBaseUrl = mode === "dev" ? `${window.location.protocol}//${window.location.hostname}:80/talas5/ClientData/WebServiceMap.asmx` : `${window.location.origin}/talas5/ClientData/WebServiceMap.asmx`; + + const params = new URLSearchParams(window.location.search); + const idMap = params.get("m"); + const idUser = params.get("u"); + + const url = `${apiBaseUrl}/GisStationsStaticDistrict?idMap=${idMap}&idUser=${idUser}`; + console.log("📡 fetchGisStationsStaticDistrictService URL:", url); + + const response = await fetch(url); + + if (!response.ok) { + const message = `❌ Fehler: ${response.status} ${response.statusText}`; + console.error(message); + throw new Error(message); + } + + const jsonResponse = await response.json(); + + if (!jsonResponse?.Points) { + throw new Error("Antwortstruktur ungültig – 'Points' fehlt"); + } + + return jsonResponse.Points; +}; diff --git a/services/api/fetchGisStationsStatusDistrict.js b/services/api/fetchGisStationsStatusDistrict.js deleted file mode 100644 index 9ed1b8e60..000000000 --- a/services/api/fetchGisStationsStatusDistrict.js +++ /dev/null @@ -1,17 +0,0 @@ -// /services/api/fetchGisStationsStatusDistrict.js - -export const fetchGisStationsStatusDistrict = async (url, setGisStationsStatusDistrict) => { - try { - const response = await fetch(url); - const jsonResponse = await response.json(); - if (jsonResponse && jsonResponse.Statis) { - setGisStationsStatusDistrict(jsonResponse.Statis); - } else { - console.error('Erwartete Daten im "Statis"-Array nicht gefunden', jsonResponse); - setGisStationsStatusDistrict([]); - } - } catch (error) { - console.error("Fehler beim Laden der Daten: ", error); - setGisStationsStatusDistrict([]); - } -}; diff --git a/services/api/fetchGisStationsStatusDistrictService.js b/services/api/fetchGisStationsStatusDistrictService.js new file mode 100644 index 000000000..c803c8537 --- /dev/null +++ b/services/api/fetchGisStationsStatusDistrictService.js @@ -0,0 +1,36 @@ +// /services/api/fetchGisStationsStatusDistrictService.js + +/** + * Holt Statusinformationen der GIS-Bezirksstationen. + * + * @returns {Promise} Liste mit Statis[] + * @throws {Error} bei Fehler oder ungültiger Antwortstruktur + */ +export const fetchGisStationsStatusDistrictService = async () => { + const mode = process.env.NEXT_PUBLIC_API_PORT_MODE; + + const apiBaseUrl = mode === "dev" ? `${window.location.protocol}//${window.location.hostname}:80/talas5/ClientData/WebServiceMap.asmx` : `${window.location.origin}/talas5/ClientData/WebServiceMap.asmx`; + + const params = new URLSearchParams(window.location.search); + const idMap = params.get("m"); + const idUser = params.get("u"); + + const url = `${apiBaseUrl}/GisStationsStatusDistrict?idMap=${idMap}&idUser=${idUser}`; + console.log("📡 fetchGisStationsStatusDistrictService URL:", url); + + const response = await fetch(url); + + if (!response.ok) { + const message = `❌ Fehler: ${response.status} ${response.statusText}`; + console.error(message); + throw new Error(message); + } + + const jsonResponse = await response.json(); + + if (!jsonResponse?.Statis) { + throw new Error("Antwortstruktur ungültig – 'Statis' fehlt"); + } + + return jsonResponse.Statis; +};