Dokumente (Documents — Detail)
Zweck
Die /documents/:id-Sicht liefert die Detail-Operations auf einem einzelnen Document-Eintrag. Anders als das Document-Center, das eine zentrale Browse-Sicht ist, liefert diese Route Sub-Tabs für:
- ZIP-Inhalt — Listung der enthaltenen Dateien bei archiv-artigen Dokumenten.
- Versionen — Historie aller hochgeladenen Versionen eines Dokuments.
- Aktivitäten — Audit-Trail (Wer hat wann geöffnet/geaendert/geloescht).
- Public-Links — anonymisierte Download-Links mit Ablaufdatum.
- Parents — alle Entitaeten, die das Dokument referenzieren (polymorpher Parent).
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_Document, Document | Detail aufrufbar | — |
update/delete | Document | Pflegen | APP_SPEAMCORE_UPDATE/DELETE_DOCUMENT |
view | DocumentVersion, DocumentActivity, DocumentPublicLink, DocumentParent | Sub-Tabs | APP_SPEAMCORE_VIEW_DOCUMENT_VERSION, DOCUMENT_ACTIVITY, DOCUMENT_PUBLIC_LINK, DOCUMENT_PARENT |
Schritt-für-Schritt-Anleitung
- Im Document-Center auf einen Eintrag klicken — oder direkt
/documents/:idaufrufen. - Tabs:
- Stammdaten — Originalname, Dokument-Typ, ContentAnalyzed-Status, Upload-Zeitpunkt (alles read-only).
- ZIP-Inhalte (
/documents/:id/zip-contents) — bei Archiven die enthaltenen Dateien. - Versionen (
/documents/:id/versions) — chronologische Historie. - Aktivitäten (
/documents/:id/activities) — Audit-Trail. - Public-Links (
/documents/:id/public-links) — externe Links mit Token und Ablaufdatum. - Parents (
/documents/:id/parents) — alle Entitaeten, die das Dokument verlinken.
Felder und Eingaben
| Feldname | Pflicht | Datentyp | Wirkung beim Ausfuellen | Voraussetzung |
|---|---|---|---|---|
originalFileName | — (read-only) | String | Originalname beim Upload. | — |
documentType | — (read-only) | String | Klassifizierung (z. B. image, signature, scorm, pdf). | — |
contentAnalyzed | — (read-only) | Boolean | Wurde der Inhalt automatisch analysiert (OCR/AI)? | — |
uploadedAt | — (read-only) | DateTime | Upload-Zeitpunkt. | — |
Wiederverwendbare Konzepte
- Polymorpher Parent-Pattern — DocumentParent verknuepft Documents polymorph.
- Berechtigungen verstehen (CASL)
Verknuepfungen zu anderen Modulen
- Document-Center — Browse-Sicht.
- Mail — Anhänge sind Documents.
- Verkaufsbelege, Bestellbelege, Kunden, Mitarbeiter — typische Parent-Einträge.
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/documents | Liste | view Document |
GET | /api/documents/:id | Detail | view Document |
PATCH | /api/documents/:id | Ändern (Metadaten) | update Document |
DELETE | /api/documents/:id | Soft-Delete | delete Document |
GET | /api/documents/:id/zip-contents | ZIP-Inhalts-Liste | view Document |
GET | /api/documents/:id/versions | Versions-Liste | view DocumentVersion |
GET | /api/documents/:id/activities | Audit-Trail | view DocumentActivity |
GET | /api/documents/:id/public-links | Public-Links | view DocumentPublicLink |
GET | /api/document-parents?filter[documentId] | Parent-Verknuepfungen | view DocumentParent |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.