fix: API-Aufruf korrigiert, um Basis-URL ohne Port zu verwenden

- originWithoutPort angepasst, um Protokoll und Hostname ohne Port zu nutzen.
- Fehlerbehandlung verbessert, um ungültige API-Antworten zu erkennen.
- Debugging-Logs hinzugefügt, um API-Aufrufe zu überwachen.
This commit is contained in:
ISA
2024-12-03 07:01:00 +01:00
parent d134f1f315
commit 31df23cd5c

View File

@@ -141,9 +141,13 @@ export const fetchDeviceNameById = async (idLD) => {
// ---------------------------------------------- // ----------------------------------------------
// services/apiService.js // services/apiService.js
export const fetchUserRights = async () => { export const fetchUserRights = async () => {
//idMap und idUser von URL Parameter hersuslesen // Aktuelle URL abrufen
const url = new URL(window.location.href);
// idMap und idUser von URL-Parametern abrufen
const idMap = url.searchParams.get("m"); const idMap = url.searchParams.get("m");
const idUser = url.searchParams.get("u"); const idUser = url.searchParams.get("u");
// Zähler für API-Aufrufe in localStorage speichern // Zähler für API-Aufrufe in localStorage speichern
let userRightsRequestCount = localStorage.getItem("userRightsRequestCount") || 0; let userRightsRequestCount = localStorage.getItem("userRightsRequestCount") || 0;
userRightsRequestCount++; userRightsRequestCount++;
@@ -151,9 +155,15 @@ export const fetchUserRights = async () => {
console.log(`fetchUserRights wurde ${userRightsRequestCount} Mal aufgerufen.`); console.log(`fetchUserRights wurde ${userRightsRequestCount} Mal aufgerufen.`);
try { try {
// Basis-URL ohne Port abrufen
const protocol = window.location.protocol; // z. B. 'http:' oder 'https:'
const hostname = window.location.hostname; // z. B. 'example.com'
const originWithoutPort = `${protocol}//${hostname}`; // z. B. 'https://example.com'
console.log("originWithoutPort in fetchUserRights", originWithoutPort); console.log("originWithoutPort in fetchUserRights", originWithoutPort);
console.log("idMap in fetchUserRights", idMap); console.log("idMap in fetchUserRights", idMap);
console.log("idUser in fetchUserRights", idUser); console.log("idUser in fetchUserRights", idUser);
const response = await fetch(`${originWithoutPort}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic?idMap=${idMap}&idUser=${idUser}`, { const response = await fetch(`${originWithoutPort}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic?idMap=${idMap}&idUser=${idUser}`, {
method: "GET", method: "GET",
headers: { headers: {
@@ -172,7 +182,7 @@ export const fetchUserRights = async () => {
throw new Error("Invalid response structure"); throw new Error("Invalid response structure");
} }
const rightsArray = data.Rights; // Nehmen an, dass 'Rights' das Array von Rechten ist const rightsArray = data.Rights; // Rechte-Array abrufen
const userRightsIds = rightsArray.map((right) => right.IdRight); const userRightsIds = rightsArray.map((right) => right.IdRight);
return userRightsIds; return userRightsIds;