feat(admin): Bulk "alle Nutzerdaten löschen (Konten behalten)" + Nutzerliste alphabetisch

- DELETE /api/admin/user-data: loescht fuer ALLE Nutzer Verlauf, Statistik
  (usage/web_search_usage/cost_usage) und Erinnerungen; Konten bleiben.
  Gefahrenzone-Knopf mit doppelter Bestaetigung, audit-geloggt.
- list_users jetzt ORDER BY LOWER(display_name) -> Nutzerkarten alphabetisch
  (ohne Gross-/Kleinschreibung).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-30 14:43:56 +02:00
commit c337ea4309
4 changed files with 46 additions and 1 deletions

View file

@ -1176,6 +1176,17 @@ $("#create-user-form").addEventListener("submit", async (e) => {
}
});
// Alle Nutzerdaten löschen (Konten bleiben) — doppelte Sicherheitsabfrage.
$("#btn-wipe-all").addEventListener("click", async () => {
if (!confirm("Wirklich für ALLE Nutzer Verlauf, Statistik und Erinnerungen löschen?\nDie Konten bleiben erhalten. Dies kann nicht rückgängig gemacht werden.")) return;
if (!confirm("Letzte Warnung: Alle Nutzerdaten werden jetzt gelöscht. Fortfahren?")) return;
const res = await adminFetch("/api/admin/user-data", "DELETE");
if (res) {
alert(`Gelöscht: ${res.messages ?? 0} Nachrichten, ${res.sessions ?? 0} Sessions, ${res.stats ?? 0} Statistik-Zeilen, ${res.memories ?? 0} Erinnerungen.`);
loadAdminUsers();
}
});
function buildUserCard(u) {
const card = document.createElement("div");
card.className = "bg-white dark:bg-slate-800 rounded-xl border border-slate-200 dark:border-slate-700 p-4";