feat: Servereinstellungen-Seite für Admins

- Neuer Endpoint GET/PUT /api/admin/server-settings
  - Liest appsettings.Production.json (Fallback: appsettings.json → Standardwert)
  - Schreibt immer in appsettings.Production.json
  - Definierte Settings: AnthropicToken, MaxIterations, PayloadLogging, PayloadLoggingGzip, KreaToken, KreaApiKey
- Neue Frontend-Seite 'server-settings' (Admin-only)
  - Dynamisches Formular basierend auf Setting-Definitionen vom Backend
  - Password-Felder mit Eye-Toggle, Checkboxen für Booleans, Number-Inputs
  - Hinweis dass Neustart erforderlich ist
- Dashboard: Neuer Link 'Servereinstellungen' für Admins
- appsettings.Production.json vom Publish ausgeschlossen (CopyToPublishDirectory=Never)
This commit is contained in:
Meleki committed 2026-03-06 22:32:33 +01:00
1 parent af2f821c72
commit bfd78278ab
8 files changed
+411 -3

No files matched your search

+7 -1
View File
@@ -14,14 +14,20 @@ registerPage('dashboard', {
navigateTo('profile');
});
// Admin-Link (nur für Admins sichtbar)
// Admin-Links (nur für Admins sichtbar)
var adminLink = document.getElementById('dashboardAdminLink');
var serverSettingsLink = document.getElementById('dashboardServerSettingsLink');
if (currentUser && currentUser.isAdmin) {
adminLink.hidden = false;
adminLink.addEventListener('click', (e) => {
e.preventDefault();
navigateTo('admin');
});
serverSettingsLink.hidden = false;
serverSettingsLink.addEventListener('click', (e) => {
e.preventDefault();
navigateTo('server-settings');
});
}
// Globaler Click-Handler zum Schließen aller Card-Menüs