/** * Die Basis-URL für alle Sektor-spezifischen Anfragen an das Backend. * Auch hier zentralisiert, um zukünftige Server-Umzüge zu erleichtern. */ const API_BASE_URL = 'https://api-dev.void-genesis.de/api/sectors'; /** * Ruft die Liste aller verfügbaren Sektoren vom Backend ab. * Da diese Route geschützt ist, müssen wir das Access-Token mitsenden. * * @param {string} token - Das JWT Access Token des aktuell eingeloggten Nutzers * * @returns {Promise} - Ein Objekt mit 'ok' (boolean) und den 'data' (JSON) */ export async function fetchSectorsList(token) { try { const response = await fetch(`${API_BASE_URL}/list`, { method: 'GET', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' } }); const data = await response.json(); return { ok: response.ok, data }; } catch (error) { console.error("Netzwerkfehler beim Sektor-Abruf:", error); throw error; } } /** * Sendet die Anfrage an das Backend, um einem neuen Sektor beizutreten. * * @param {string} token - Das JWT Access Token * @param {string} sectorId - Die UUID des Sektors * @param {string} localUsername - Der gewünschte Commander-Name * @param {string} gender - Das gewählte Geschlecht ('male' oder 'female') * * @returns {Promise} - Ein Objekt mit 'ok' (boolean) und den 'data' (JSON) */ export async function joinSectorUser(token, sectorId, localUsername, gender) { try { const response = await fetch(`${API_BASE_URL}/join`, { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ sectorId, localUsername, gender }) }); const data = await response.json(); return { ok: response.ok, data }; } catch (error) { console.error("Netzwerkfehler beim Sektor-Beitritt:", error); throw error; } }