refactor: fetchGisStationsStatusDistrictService korrigiert und aktiv im Projekt eingebunden

This commit is contained in:
ISA
2025-05-20 12:20:28 +02:00
parent c877342e38
commit e3b8f7f0fc
6 changed files with 76 additions and 39 deletions

View File

@@ -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([]));
}
};

View File

@@ -0,0 +1,36 @@
// /services/api/fetchGisStationsStaticDistrictService.js
/**
* Holt statische GIS-Stationen-Daten für Bezirke.
*
* @returns {Promise<Array>} 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;
};

View File

@@ -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([]);
}
};

View File

@@ -0,0 +1,36 @@
// /services/api/fetchGisStationsStatusDistrictService.js
/**
* Holt Statusinformationen der GIS-Bezirksstationen.
*
* @returns {Promise<Array>} 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;
};