/** * @module api * @description Kommunikations-Layer für die /max-outlier-results API. * Bietet Funktionen für das Abrufen von Analyseergebnissen. */ /** * Führt einen GET-Request an /max-outlier-results aus und gibt das JSON-Ergebnis zurück. * * @async * @function fetchMaxOutlierResults * @param {string} [baseUrl='/max-outlier-results'] - Basis-URL der API. * @param {Object} [filters={}] - Optionale Filterparameter (run_id, parallelism, stratum). * @returns {Promise>} */ export async function fetchMaxOutlierResults(baseUrl = '/max-outlier-results', filters = {}) { try { const params = new URLSearchParams(); Object.entries(filters).forEach(([key, value]) => { if (value !== undefined && value !== null && value !== '') { params.append(key, value); } }); const url = params.toString() ? `${baseUrl}?${params.toString()}` : baseUrl; const response = await fetch(url, { method: 'GET', headers: { 'Accept': 'application/json' } }); if (!response.ok) { throw new Error(`API request failed with status ${response.status}`); } const data = await response.json(); if (!Array.isArray(data)) { console.warn('Unexpected API response format, expected an array.'); return []; } return data; } catch (error) { console.error('Error fetching Max-Outlier results:', error); return []; } }