/** * API-Modul für den Zugriff auf die Backend-Endpunkte /alert-data und /outlier-report. * Kapselt alle Fetch-Operationen und Fehlerbehandlungen. * Dieses Modul stellt zwei Funktionen bereit: * - fetchAlertData() * - fetchOutlierReport() * * Beide Funktionen sind asynchron und geben JSON zurück. */ /** * Führt einen sicheren Fetch-Request aus und behandelt HTTP- und Netzwerkfehler. * @param {string} url - Ziel-Endpoint. * @returns {Promise} - JSON-Antwort oder Fehler. */ async function safeFetch(url) { try { const response = await fetch(url, { method: 'GET', headers: { 'Accept': 'application/json' } }); if (!response.ok) { console.error(`API-Fehler: ${response.status} ${response.statusText}`); throw new Error(`Fehler beim Abrufen von ${url}`); } const data = await response.json(); return data; } catch (err) { console.error(`Netzwerkfehler bei ${url}:`, err); throw err; } } /** * Holt die Max-only Alert-Daten vom Backend. * Wird in app.initApp und app.handleRefresh verwendet. * @returns {Promise} Array von Alert-Objekten. */ export async function fetchAlertData() { return await safeFetch('/alert-data'); } /** * Holt den Outlier-Report. * Wird in app.initApp und app.handleRefresh verwendet. * @returns {Promise} JSON-Objekt mit Outlier-Daten. */ export async function fetchOutlierReport() { return await safeFetch('/outlier-report'); } export default { fetchAlertData, fetchOutlierReport };