Der Edit im vorigen Commit (7c100e9) hatte die const angelegt, das Feld aber
nicht in die Antwort gehängt → pastDue war im Frontend undefined.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- /admin/stats: pastDueSubscriptions (Abos mit fehlgeschlagener Zahlung)
- /admin/health: pingt aktive Instanz-URLs (HEAD, 4s Timeout) -> up/down;
im MOCK-Modus ehrlich 'unknown' statt fake 'up'
E2E: past_due fliesst in stats, health gibt im Mock 'unknown'.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
GET /admin/export/accounts.csv — eine Zeile pro Kunde (Profil + aktuelles
Abo + Plan-Preis + Instanzen). Semikolon-getrennt, UTF-8 BOM (Excel-CH),
Content-Disposition mit Datum. Nur mit Admin-Token (401 sonst).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>