feat(repairs): add status timeline and public link preparation
This commit is contained in:
parent
e9ec207617
commit
09cce1f2b6
22 changed files with 1027 additions and 28 deletions
|
|
@ -146,13 +146,31 @@ Athena erreicht Reparaturen ausschliesslich ueber BFF-Routen:
|
|||
- `/api/repairs/[id]`
|
||||
- `/api/repairs/[id]/status`
|
||||
- `/api/repairs/[id]/history`
|
||||
- `/api/repairs/[id]/public-link`
|
||||
- `/api/repairs/[id]/notifications`
|
||||
|
||||
Hermes stellt zusaetzlich `POST /public/repair-intake` fuer die spaetere Website-Anbindung bereit. Der Endpunkt ist fuer Server-zu-Server-Kommunikation gedacht und erwartet `X-Olympus-Intake-Token`. Der Token wird ueber `OLYMPUS_REPAIR_INTAKE_TOKEN` gesetzt und darf nicht im Browser verwendet werden.
|
||||
|
||||
Vorbereitete Kundenportal-Routen fuer spaeter:
|
||||
Ab v0.8.1 zeigt Athena deutsche Statuslabels, waehrend die API-Statuscodes englisch und stabil bleiben. Statuswechsel werden als Timeline mit Benutzer, Datum und Notiz angezeigt.
|
||||
|
||||
- `/status`
|
||||
- `/reparatur/status`
|
||||
Statuslink-Konzept:
|
||||
|
||||
- Interne Verwaltung ueber `GET|POST|DELETE /repairs/{id}/public-link`.
|
||||
- RBAC-Permission: `repairs.public_link.manage`.
|
||||
- Tokens sind lang, zufaellig und werden nur gehasht gespeichert.
|
||||
- Der Klartexttoken wird nur einmal bei Erstellung zurueckgegeben.
|
||||
- Oeffentliche Statusdaten kommen spaeter ueber `GET /public/repairs/status/{token}`.
|
||||
- Die Antwort enthaelt keine Kundendaten, keine internen Notizen und keine nicht freigegebenen Diagnosen.
|
||||
|
||||
Benachrichtigungen:
|
||||
|
||||
- Vorlagen liegen in `backend/hermes/app/services/repair_notification_service.py`.
|
||||
- `repair_notification_events` bereitet spaeteren E-Mail-Versand nachvollziehbar vor.
|
||||
- Aktuell wird kein SMTP-Versand aus Olympus erzwungen.
|
||||
|
||||
Vorbereitete Website-/Portal-Routen fuer spaeter:
|
||||
|
||||
- `/status/<token>`
|
||||
- `/portal/login`
|
||||
|
||||
## Typische Fehler
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue