36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
/**
|
|
* @module api
|
|
* @description Kommunikation mit der /results-API und Formatierung der JSON-Daten für die UI.
|
|
* Diese Datei stellt zentrale Datenabruf-Funktionen für das Dashboard bereit.
|
|
*/
|
|
|
|
/**
|
|
* Sendet GET-Request an /results und gibt strukturierte experiment_data zurück.
|
|
* @async
|
|
* @returns {Promise<{ pinned: Array, unpinned: Array }>} Experimentdaten.
|
|
*/
|
|
export async function fetchResults() {
|
|
try {
|
|
const response = await fetch('/results', {
|
|
method: 'GET',
|
|
headers: {
|
|
'Accept': 'application/json'
|
|
}
|
|
});
|
|
|
|
if (!response.ok) {
|
|
throw new Error(`Fehler beim Abrufen der Ergebnisse: ${response.status}`);
|
|
}
|
|
|
|
const data = await response.json();
|
|
|
|
// Grundlegende Strukturvalidierung
|
|
const pinned = Array.isArray(data.pinned) ? data.pinned : [];
|
|
const unpinned = Array.isArray(data.unpinned) ? data.unpinned : [];
|
|
|
|
return { pinned, unpinned };
|
|
} catch (error) {
|
|
console.error('API-Fehler in fetchResults:', error);
|
|
return { pinned: [], unpinned: [] }; // Leere Struktur als Fallback
|
|
}
|
|
}
|