feat(customers): add initial admin bootstrap and csv import
This commit is contained in:
parent
c816e9869d
commit
ecab0fe6b6
27 changed files with 1197 additions and 34 deletions
|
|
@ -105,6 +105,7 @@ uv run alembic upgrade head
|
|||
- Erfolg und Fehler in mutierenden CRUD-Flows ueber den Toast-Provider melden.
|
||||
- Keine Browser-Dialoge wie `alert()` oder `confirm()`.
|
||||
- Keine Tokens in Browser-JavaScript speichern.
|
||||
- Datei-Uploads vom Browser laufen ueber Athena-BFF-Routen und werden serverseitig an Hermes weitergeleitet.
|
||||
|
||||
### Backend
|
||||
|
||||
|
|
@ -118,6 +119,7 @@ uv run alembic upgrade head
|
|||
- Berechtigungen mit `require_permission`, `require_any_permission` oder `require_all_permissions` pruefen.
|
||||
- Mutierende Kernaktionen mit Audit Logs erfassen, sofern fachlich relevant.
|
||||
- Sensible Felder vor Persistenz in Logs oder Audit-Daten maskieren.
|
||||
- Import- und Bootstrap-Flows duerfen keine Passwoerter, Tokens, Secrets oder vollstaendige CSV-Inhalte loggen.
|
||||
|
||||
### Allgemein
|
||||
|
||||
|
|
@ -143,6 +145,7 @@ Diese Regeln sind verbindlich:
|
|||
- Frontend-Permissions dienen nur der UI und ersetzen keine Backend-Pruefung.
|
||||
- Audit Logs werden serverseitig in Hermes geschrieben.
|
||||
- Neue Plattform-Endpunkte sollen das einheitliche API-Response-Format nutzen.
|
||||
- Header- und Benutzerkontext wird ueber `GET /api/me` geladen; hart codierte Benutzernamen sind unzulaessig.
|
||||
|
||||
Wenn eine Aufgabe diese Regeln zu verletzen scheint, muss zuerst die Architekturentscheidung geklaert werden.
|
||||
|
||||
|
|
@ -196,6 +199,31 @@ Ein neues CRM-Modul soll sich am Kundenmodul orientieren:
|
|||
|
||||
Dashboard-Widgets fuer noch nicht implementierte Module muessen Empty States anzeigen statt hart codierter Beispieldaten.
|
||||
|
||||
### Kundenimport
|
||||
|
||||
Kundenimporte muessen die bestehende Kundenarchitektur nutzen und ueber Athena-BFF-Routen laufen. Der Browser darf keine Hermes-URL kennen.
|
||||
|
||||
CSV-Vorgaben:
|
||||
|
||||
- UTF-8 bevorzugen
|
||||
- Semikolon und Komma unterstuetzen
|
||||
- leere Zeilen ignorieren
|
||||
- Fehler und Warnungen pro Zeile zurueckgeben
|
||||
- Preview darf keine Datenbank-Aenderungen ausloesen
|
||||
- Commit schreibt Audit Logs ohne CSV-Rohinhalt
|
||||
|
||||
Importmodi:
|
||||
|
||||
- `create_only`
|
||||
- `update_existing`
|
||||
- `upsert`
|
||||
|
||||
Die Excel-freundliche Vorlage liegt unter `GET /api/customers/import/template`.
|
||||
|
||||
### Deployment
|
||||
|
||||
Neue Installationen koennen optional ueber `INITIAL_ADMIN_*` einen initialen Administrator anlegen. Diese Variablen werden nur von Hermes gelesen und duerfen nicht im Frontend oder in Logs erscheinen.
|
||||
|
||||
### Neue Permissions
|
||||
|
||||
Neue Module muessen eigene stabile Permission-Strings erhalten.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue