Kunden — Dokumente (Sub-Route)
Zweck
Sub-Route /customers/:id/documents zeigt alle Dokumente, die über DocumentParent mit parentType = Customer und parentId = :id verknuepft sind — z. B. Kundenvertraege, Korrespondenz, Bestellbestaetigungen. Pflege folgt dem Standard-Pattern fuer Dokumente und Anhaenge.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_Customer, Customer | Detail aufrufbar | — |
view/create/delete | Document, DocumentParent | Anhänge pflegen | APP_SPEAMCORE_VIEW/CREATE/DELETE_DOCUMENT, DOCUMENT_PARENT |
Schritt-für-Schritt-Anleitung
- Kunde (
/customers/:id) → Tab Dokumente. - Hochladen — Datei auswählen oder per Drag-and-Drop ablegen. Backend legt
Documentan und einDocumentParentmitparentType = Customer. - Klick auf eine Zeile → Detail unter /documents/:id mit Versionen, Aktivitäten, Public-Links.

Wiederverwendbare Konzepte
- Dokumente und Anhaenge — vollstaendiges Pattern.
- Polymorpher Parent-Pattern
- Berechtigungen verstehen (CASL)
Verknuepfungen zu anderen Modulen
- Kunden — Eltern-Modul.
- Document-Center — globale Browse-Sicht.
- Documents — Detail pro Dokument.
- Alle weiteren
:id/documents-Sub-Routen (Lieferanten, Mitarbeiter, Belege, Workorders, ...) folgen identischem Pattern.
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/document-parents?filter[parentType=Customer&parentId=:id] | Anhänge | view DocumentParent |
POST | /api/documents | Upload (legt auch DocumentParent an) | create Document |
DELETE | /api/document-parents/:id | Verknuepfung lösen | delete DocumentParent |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.