From ee1effbb89d3ceb0ac97a649d23177296720165d Mon Sep 17 00:00:00 2001 From: Mika Date: Sun, 18 Jan 2026 17:11:08 +0000 Subject: [PATCH] Add results_visualization/js/api.js --- results_visualization/js/api.js | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 results_visualization/js/api.js diff --git a/results_visualization/js/api.js b/results_visualization/js/api.js new file mode 100644 index 0000000..0555378 --- /dev/null +++ b/results_visualization/js/api.js @@ -0,0 +1,49 @@ +/** + * @module api + * Kommuniziert mit der /analyze_results API. + */ + +/** + * Sendet GET-Request an /analyze_results und liefert JSON zurück. + * @async + * @function fetchAnalysisResults + * @param {Object} [params={}] - Optionale Query-Parameter { filter, type } + * @returns {Promise>} + */ +export async function fetchAnalysisResults(params = {}) { + const baseUrl = '/analyze_results'; + const query = new URLSearchParams(); + + if (params.filter) { + query.append('filter', params.filter.trim()); + } + if (params.type) { + query.append('type', params.type.trim()); + } + + const url = query.toString() ? `${baseUrl}?${query}` : baseUrl; + + try { + const response = await fetch(url, { + method: 'GET', + headers: { + 'Accept': 'application/json' + } + }); + + if (!response.ok) { + throw new Error(`API-Fehler: ${response.status} ${response.statusText}`); + } + + const data = await response.json(); + if (!Array.isArray(data)) { + console.warn('Warnung: Unerwartetes Antwortformat von /analyze_results'); + return []; + } + + return data; + } catch (error) { + console.error('Fehler beim Laden der Analyseergebnisse:', error); + return []; + } +}