32 lines
1.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* ticketmaster.js Schnittstelle zum Backend-Proxy für die Ticketmaster Discovery API.
* Der direkte API-Aufruf läuft über den eigenen Backend-Server, um den API-Key
* nicht im Frontend zu exponieren (OWASP: Sensitive Data Exposure vermeiden).
*/
/**
* Lädt Events für eine Stadt über den Backend-Proxy.
* @param {string} city - Stadtname für die Suche
* @returns {Promise<Array>} Array von rohen Ticketmaster-Event-Objekten
*/
export async function fetchEvents(city) {
const url = `http://localhost:3000/api/events?city=${encodeURIComponent(city)}`;
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`Backend antwortete mit Status ${response.status}`);
}
const data = await response.json();
// Ticketmaster gibt Events unter _embedded.events zurück; leeres Array als Fallback
return data._embedded?.events || [];
} catch (error) {
// Fehler nach oben weitergeben, damit app.js ihn dem Nutzer anzeigen kann
throw error;
}
}