import { showAlert } from './shared_functions.js'; // IP-Adresse const baseUrl = 'http://localhost:8015'; // Funktion zum Laden der Benutzerdaten für die normale Webseite async function loadUserData() { const token = localStorage.getItem('token'); if (!token) { showAlert('Nicht autorisiert. Bitte einloggen.'); window.location.href = 'index.html'; return; } try { const response = await fetch(`${baseUrl}/api/auth/me`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` } }); if (!response.ok) { throw new Error('Fehler beim Abrufen der Benutzerdaten'); } const data = await response.json(); document.getElementById('username').textContent = data.user; document.getElementById('isAdmin').textContent = data.isAdmin ? 'Ja' : 'Nein'; // Überprüfen, ob der Benutzer Admin ist if (data.isAdmin) { const adminBtn = document.getElementById('adminPermissionsBtn'); adminBtn.style.display = 'inline-block'; // Button anzeigen adminBtn.addEventListener('click', () => { window.location.href = 'admin.html'; // Bei Klick weiterleiten }); } } catch (error) { console.error(error); showAlert('Sitzung abgelaufen. Bitte erneut einloggen.'); localStorage.removeItem('token'); window.location.href = 'index.html'; } } // Funktion zum Abmelden document.getElementById('logoutBtn').addEventListener('click', () => { localStorage.removeItem('token'); window.location.href = 'index.html'; }); // Funktion um auf die Willkommensseite zurückzukommen document.getElementById("welcomeButton").addEventListener("click", toWelcome); function toWelcome() { location.href = 'welcome.html'; } async function loadAdminData() { const token = localStorage.getItem('token'); if (!token) { showAlert('Nicht autorisiert. Bitte einloggen.'); window.location.href = 'index.html'; return; } try { const response = await fetch(`${baseUrl}/api/auth/admin`, { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` } }); if (!response.ok) { showAlert('Zugriff verweigert. Sie sind kein Admin.'); window.location.href = 'welcome.html'; return; } const data = await response.json(); console.log(data.message); // "Willkommen, Admin!" } catch (error) { console.error(error); showAlert('Sitzung abgelaufen. Bitte erneut einloggen.'); localStorage.removeItem('token'); window.location.href = 'index.html'; } } async function loadUserList() { const token = localStorage.getItem('token'); const response = await fetch(`${baseUrl}/api/auth/users`, { headers: { 'Authorization': `Bearer ${token}` } }); if (response.ok) { const users = await response.json(); const userList = document.getElementById('user-list'); userList.innerHTML = ''; // Liste leeren users.forEach(user => { const userDiv = document.createElement('div'); userDiv.style.display = 'flex'; userDiv.style.alignItems = 'center'; userDiv.setAttribute('id', `user-list-element`); userDiv.innerHTML = `
Benutzername: ${user.username}
Email: ${user.email}
`; userList.appendChild(userDiv); }); } else { showAlert('Fehler beim Laden der Benutzerliste'); } } // Überprüfen, ob wir uns auf der Admin-Seite befinden, und dann den Event-Listener hinzufügen const loadUserListBtn = document.getElementById('loadUserListBtn'); if (loadUserListBtn) { loadUserListBtn.addEventListener('click', loadUserList); // Benutzerliste laden, wenn der Button geklickt wird } // Funktion zum Löschen eines Benutzers async function deleteUser(userId) { const token = localStorage.getItem('token'); try { const response = await fetch(`${baseUrl}/api/auth/user/${userId}`, { method: 'DELETE', headers: { 'Authorization': `Bearer ${token}` } }); if (response.ok) { await loadUserList(); // Liste aktualisieren } else { showAlert('Fehler beim Löschen des Benutzers'); } } catch (error) { console.error('Fehler beim Löschen des Benutzers:', error); } } // Abhängig von der Seite entweder Admin- oder Benutzerdaten laden if (window.location.pathname.includes('admin.html')) { await loadAdminData(); await loadUserList(); } else if (window.location.pathname.includes('welcome.html')) { await loadUserData(); }