chore: Repository-Struktur bereinigt - Dateien aus dev/ in das Hauptverzeichnis verschoben

This commit is contained in:
2026-06-07 13:00:16 +02:00
parent 276e7570e5
commit 87f4d935c4
82 changed files with 0 additions and 0 deletions
+180
View File
@@ -0,0 +1,180 @@
/**
* Die Basis-URL für alle Authentifizierungs-Anfragen.
* Zentralisiert, damit wir sie bei Server-Umzügen nur an einer Stelle ändern müssen.
*/
const API_BASE_URL = 'https://api-dev.void-genesis.de/api/auth';
/**
* Führt den Login-Request an das Backend aus.
*
* @param {string} identifier - Benutzername oder E-Mail-Addresse
* @param {string} password - Das eingegebene Klartext-Passwort
*
* @returns {Promise<Object>} - Ein Objekt mit 'ok' (boolean) und den 'data' (JSON)
*/
export async function loginUser(identifier, password) {
try {
const response = await fetch(`${API_BASE_URL}/login`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ identifier, password })
});
const data = await response.json();
return { ok: response.ok, data };
} catch (error) {
console.error("Netzwerkfehler beim Login:", error);
throw error;
}
}
/**
* Führt den Registrierungs-Request an das Backend aus.
*
* @param {string} username - Der gewünschete Benutzername
* @param {string} email - Die E-Mail-Addresse
* @param {string} password - Das Klartext-Passwort
*
* @returns {Promise<Object>} - Ein Objekt mit 'ok' (boolean) und den 'data' (JSON)
*/
export async function registerUser(username, email, password) {
try {
const response = await fetch(`${API_BASE_URL}/register`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ username, email, password })
});
const data = await response.json();
return { ok: response.ok, data };
} catch (error) {
console.error("Netzwerkfehler bei der Registrierung:", error);
throw error;
}
}
/**
* Verifiziert die E-Mail-Addresse mit dem 6-stelligen OTP Code.
*
* @param {string} email - Die E-Mail-Addresse des Nutzers
* @param {string} otpCode - Der eingegebende 6-stellige Code aus der E-Mail
*
* @returns {Promise<Object>} - Ein Objekt mit 'ok' (boolean) und den 'data' (JSON)
*/
export async function verifyEmailUser(email, otpCode) {
try {
const response = await fetch(`${API_BASE_URL}/verify-email`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, otpCode })
});
const data = await response.json();
return { ok: response.ok, data };
} catch (error) {
console.error("Netzwerkfehler bei der Verifizierung:", error);
throw error;
}
}
/**
* Fordert einen neuen OTP-Code an, falls der alte abgelaufen ist (Resend-Funktion)
*
* @param {string} email - Die E-Mail-Addresse des Nutzers
*
* @returns {Promise<Object>} - Ein Objekt mit 'ok' (boolean) und den 'data' (JSON)
*/
export async function resendOTPCode(email) {
try {
console.log ("Email:", email);
const response = await fetch(`${API_BASE_URL}/resend-otp`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email })
});
const data = await response.json();
return { ok: response.ok, data };
} catch (error) {
console.error("Netzwerkfehler beim erneutem Senden des OTP:", error);
throw error;
}
}
/**
* Leitet den Prozess zum Zurücksetzen des Passworts ein (sendet die Email mit Code).
*
* @param {string} email - Die E-Mail-Addresse des Nutzers
*
* @returns {Promise<Object>} - Ein Objekt mit 'ok' (boolean) und den 'data' (JSON)
*/
export async function requestPasswordResetUser(email) {
try {
const response = await fetch(`${API_BASE_URL}/forgot-password`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email })
});
const data = await response.json();
return { ok: response.ok, data };
} catch (error) {
console.error("Netzwerkfehler bei, Passwort-Reset-Anfrage:", error);
throw error;
}
}
/**
* Setzt das Passwort final zurück.
*
* @param {string} email - Die E-Mail-Addresse des Nutzers
* @param {string} otpCode - Der 6-stellige Code aus der Reset-E-Mail
* @param {string} newPassword - Das neu gewählte Passwort
*
* @returns {Promise<Object>} - Ein Objekt mit 'ok' (boolean) und den 'data' (JSON)
*/
export async function resetPasswordUser(email, otpCode, newPassword) {
try {
const response = await fetch(`${API_BASE_URL}/reset-password`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ email, otpCode, newPassword })
});
const data = await response.json();
return { ok: response.ok, data };
} catch (error) {
console.error("Netzwerkfehler bei, Passwort-Reset:", error);
throw error;
}
}
/**
* Nutzt das Refresh-Token, um ein neues Access-Token anzufordern (Auto-Login).
*
* @param {string} refreshToken
*
* @returns {Promise<Object>}
*/
export async function refreshAccessTokenUser(refreshToken) {
try {
const response = await fetch(`${API_BASE_URL}/refresh`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ refreshToken })
});
const data = await response.json();
return { ok: response.ok, data };
} catch (error) {
console.error("Netzwerkfehler beim Token-Refresh:", error);
throw error;
}
}