Kunden und Standorte pflegen, nicht zugeordnete Hosts in einem Schritt zuweisen, Enrollment- und Host-Tokens verwalten, Audit-Log. Dashboard, Kundenseiten und globale Suche laufen jetzt auf der Datenbank. 45 Tests. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.7 KiB
1.7 KiB
#006 Kunden, Standorte und Hostzuweisung
Status: erledigt Meilenstein: v0.3.0 Labels: ui, backend Geschätzt: 6 h Tatsächlich: 0 h 35 min
Ziel
Kunden und Standorte pflegen, neu registrierte Hosts schnell Kunden zuweisen und Enrollment-Tokens verwalten.
Aufgaben
- Kunden anlegen/bearbeiten/löschen (Name, Kundennummer, Ansprechpartner, E-Mail, Notizen)
- Standorte je Kunde
- Seite „Nicht zugeordnete Hosts“ mit Mehrfachauswahl und Schnellzuweisung (Kunde + Standort)
- Callout auf dem Dashboard, solange nicht zugeordnete Hosts existieren
- Enrollment-Tokens: erzeugen (Ablauf, max. Nutzungen, optional Kunde/Standort), anzeigen (einmalig), widerrufen; Install-One-Liner zum Kopieren
- Host-Tokens widerrufen
- Audit-Log-Einträge für alle Änderungen
Akzeptanzkriterien
- Mehrere Hosts lassen sich in einem Schritt zuweisen
- Mit kundengebundenem Enrollment-Token registrierte Hosts sind sofort zugeordnet
- Widerrufener Token wird von der Agent-API abgewiesen
Abhängigkeiten
#002, #004
Notizen / Entscheidungen
- Das Dashboard wurde gleich mit auf die Datenbank umgestellt (eigentlich #009). Sonst hätte eine gerade vorgenommene Zuweisung dort weiter als „nicht zugeordnet“ gestanden – ein irreführender Zwischenzustand.
- Die Zuweisungslogik liegt als Service (
src/server/services/zuweisung.ts) neben der Server Action, damit sie ohne Next.js-Laufzeit testbar ist. - Alle Dashboard-Seiten rendern dynamisch (
force-dynamic); beim Vorrendern öffnete sonst jeder Build-Worker eigene Datenbankverbindungen und der Build brach mit „TooManyConnections“ ab. - Noch auf Beispieldaten: Host-Tabelle, Host-Detail, Rechnungen und Jahresbahn (folgen in #007 bis #009).