feat(repairs): add repair documents

This commit is contained in:
Schubert Ferenc 2026-07-05 00:34:57 +02:00
parent 884a20e043
commit 6e7e75f864
21 changed files with 1222 additions and 6 deletions

View file

@ -154,6 +154,10 @@ Athena erreicht Reparaturen ausschliesslich ueber BFF-Routen:
- `/api/repairs`
- `/api/repairs/[id]`
- `/api/repairs/[id]/documents`
- `/api/repairs/[id]/documents/upload`
- `/api/repairs/[id]/documents/[documentId]`
- `/api/repairs/[id]/documents/[documentId]/download`
- `/api/repairs/[id]/status`
- `/api/repairs/[id]/history`
- `/api/repairs/[id]/public-link`
@ -185,6 +189,15 @@ Benachrichtigungen:
- `SMTP_PASSWORD` wird nicht an Athena zurueckgegeben und gehoert nie ins Git oder in Logs.
- Verschluesselung at rest ist fuer v0.8.x vorbereitet/geplant; bis dahin bleibt das Passwort serverseitig in `system_settings` und wird in Responses/Audits maskiert.
Reparaturdokumente:
- Ab v0.8.5 koennen Dokumente und Bilder direkt an Reparaturen gepflegt werden.
- Hermes speichert Uploads ueber `StorageService` unter `repairs/<repair_id>/documents`.
- Erlaubte Dateitypen: JPG, PNG, WEBP und PDF.
- Metadaten liegen in `repair_documents`; Dateiinhalte liegen nie im Git oder in `public`.
- `visibility` ist mit `internal` und `customer` vorbereitet. In v0.8.5 gibt es noch keine oeffentliche Kundenanzeige fuer diese Dateien.
- PDF-Dateien koennen inline oder als Download ueber Athena-BFF geoeffnet werden; ein vollstaendiger PDF-Viewer ist ein Folgefeature.
Vorbereitete Website-/Portal-Routen fuer spaeter:
- `/status/<token>`