Adminbereich: Anmeldung mit 2FA, Buchungen, CSV-Export, Storno und Erstattung #9

Closed
opened 2026-10-16 05:54:51 +00:00 by Nick.Rosenloecher · 0 comments
Owner

Ziel

Schlanker, wirklich geschützter Verwaltungsbereich für Buchungen, Zahlungen, Gutscheine, Kapazität und Camp-Einstellungen, ohne Standardpasswörter.

Umgesetzt

  • Better Auth mit E-Mail und Passwort, Registrierung aus, TOTP-2FA Pflicht (Migration 20260927025745_better_auth_two_factor), Passwortprüfung gegen Datenlecks, Rate Limits der Anmeldung in PostgreSQL
  • Konten nur über die Kommandozeile: pnpm admin:create bzw. Pod-Befehl in k8s/README.md
  • Jede Seite, Server-Action und der CSV-Export (/admin/export) prüfen Sitzung und 2FA selbst; Proxy (src/proxy.ts) leitet nur vorab um; Admin-Routen nicht vorab gerendert (771eeee)
  • Buchungsübersicht mit Filtern, Buchungsdetails mit Raten, offenen Beträgen und Fälligkeiten; Einstellungen und Freigaben; Gutscheine
  • Stornieren (Grund Pflicht) und Erstatten je bezahlter Rate mit Idempotenzschlüssel; alle Aktionen im AuditLog
  • Anmeldung lokal unter Node 24 repariert (9785eb2, 15.10.2026; Produktion mit Node 22 war nicht betroffen)

Grundlage

docs/ARCHITEKTUR.md (ADR-7), docs/BETRIEB.md Abschnitt 8 (Storno und Erstattung), tests/admin.integration.test.ts. Ob im Cluster bereits ein Admin-Konto angelegt ist, ist im Repo nicht dokumentiert.

Status

Code: ja · Geprüft: ja (Tests, manuelle HTTP-Prüfung laut docs/TESTS.md) · Gemergt: ja · Produktiv: ja (im Cluster belegt ausgerollt sha-5a88f3d am 13.10.2026); 9785eb2 nicht gebaut, siehe #20
Stand: 2026-10-16 (Quelle: git origin/main 9785eb2, Gitea-CI-Läufe und Registry, Memory der Sessions)

## Ziel Schlanker, wirklich geschützter Verwaltungsbereich für Buchungen, Zahlungen, Gutscheine, Kapazität und Camp-Einstellungen, ohne Standardpasswörter. ## Umgesetzt - [x] Better Auth mit E-Mail und Passwort, Registrierung aus, TOTP-2FA Pflicht (Migration `20260927025745_better_auth_two_factor`), Passwortprüfung gegen Datenlecks, Rate Limits der Anmeldung in PostgreSQL - [x] Konten nur über die Kommandozeile: `pnpm admin:create` bzw. Pod-Befehl in `k8s/README.md` - [x] Jede Seite, Server-Action und der CSV-Export (`/admin/export`) prüfen Sitzung und 2FA selbst; Proxy (`src/proxy.ts`) leitet nur vorab um; Admin-Routen nicht vorab gerendert (`771eeee`) - [x] Buchungsübersicht mit Filtern, Buchungsdetails mit Raten, offenen Beträgen und Fälligkeiten; Einstellungen und Freigaben; Gutscheine - [x] Stornieren (Grund Pflicht) und Erstatten je bezahlter Rate mit Idempotenzschlüssel; alle Aktionen im AuditLog - [x] Anmeldung lokal unter Node 24 repariert (`9785eb2`, 15.10.2026; Produktion mit Node 22 war nicht betroffen) ## Grundlage `docs/ARCHITEKTUR.md` (ADR-7), `docs/BETRIEB.md` Abschnitt 8 (Storno und Erstattung), `tests/admin.integration.test.ts`. Ob im Cluster bereits ein Admin-Konto angelegt ist, ist im Repo nicht dokumentiert. ## Status Code: ja · Geprüft: ja (Tests, manuelle HTTP-Prüfung laut docs/TESTS.md) · Gemergt: ja · Produktiv: ja (im Cluster belegt ausgerollt sha-5a88f3d am 13.10.2026); 9785eb2 nicht gebaut, siehe #20 Stand: 2026-10-16 (Quelle: git origin/main 9785eb2, Gitea-CI-Läufe und Registry, Memory der Sessions)
Nick.Rosenloecher added the status/erledigtart/featureprio/hoch labels 2026-10-16 05:54:52 +00:00
Sign in to join this conversation.