/** * eventService.js – Transformiert rohe Ticketmaster-API-Daten in ein vereinfachtes Event-Objekt. * Kapselt die Datenstruktur der externen API, sodass der Rest der App davon unabhängig bleibt. */ import { fetchEvents } from "../api/ticketmaster.js"; /** * Lädt und transformiert Events für eine gegebene Stadt. * @param {string} city - Stadtname * @returns {Promise>} */ export async function getEvents(city) { const events = await fetchEvents(city); // Rohe API-Daten auf ein einheitliches, einfaches Format abbilden return events.map(event => ({ id: event.id, name: event.name, date: event.dates?.start?.localDate || null, time: event.dates?.start?.localTime || null, venue: event._embedded?.venues?.[0]?.name || "Unbekannter Ort", // Kategorie aus dem ersten Klassifizierungs-Segment extrahieren (z.B. "Music", "Sports") category: event.classifications?.[0]?.segment?.name ? event.classifications[0].segment.name.toLowerCase() : null })); }