62 lines
2.0 KiB
JavaScript
62 lines
2.0 KiB
JavaScript
/**
|
|
* 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<Object>} - 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<Object>} - 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;
|
|
}
|
|
} |