Audits
Zweck
Die zentrale Audit-Seite (AuditsPage) buendelt drei Audit-Bereiche unter einer URL — Reports, Compliance und Chat. Pro Bereich gibt es einen Tab mit eigener Liste; AuditEvent ist das uebergreifende Modell und nutzt einen polymorphen parentType (z. B. ReportDownload, ComplianceCheck, ChatMessage).
Voraussetzungen
Berechtigungen (CASL)
Frontend-Page-Guard:
| Action | Subject | Keycloak-Rolle |
|---|---|---|
view | FE_Audit | — |
Tab-Subjects:
| Tab | Sub-Pfad | Subject |
|---|---|---|
| Reports | /audits/reports | AuditEvent:view |
| Compliance | /audits/compliance | ComplianceCheck:view |
| Chat | /audits/chat | FE_ChatAudit:view + ChatMessage:view |
| Login | (TODO im Code) | AuditEvent:view |
Schritt-für-Schritt-Anleitung
- Audits (
/audits) → Default-Tab Reports öffnet sich. - Pro Tab Filter setzen — z. B. nach
parentType, Zeitraum oder Benutzer. - Klick auf Eintrag — Detail-Pane oder direkter Sprung zur Quelle (z. B. einer ComplianceCheck-Seite).

UI-Elemente
Tabs
URL-driven Tab-State (/audits/:tab). Tabs werden ein-/ausgeblendet je nach Berechtigung des Anwenders.
Felder und Eingaben
AuditEvent ist read-only. Felder für Filter und Anzeige:
| Feldname | Datentyp | Wirkung |
|---|---|---|
occurredAt | DateTime | Zeitstempel. |
requestedByName | String | Name des Ausloesers. |
parentType | Enum | Klassifikation des Events (z. B. ReportDownload, ComplianceCheck, ChatMessage). |
action | String | Aktion (z. B. download, acknowledge, chat-send). |
targetLabel | String | Bezeichnung des betroffenen Datensatzes. |
parentId | UUID | FK zum betroffenen Datensatz. |
fileName | String (read-only) | Bei Report-Downloads der Dateiname. |
category | String | Klassifizierungs-Kategorie. |
Wiederverwendbare Konzepte
- Berechtigungen verstehen (CASL)
- Compliance-Pruefungen — werden hier im Tab Compliance angezeigt.
Verknuepfungen zu anderen Modulen
- Compliance-Prüfungen —
parentType = 'ComplianceCheck'. - Reports / PDF-Downloads —
parentType = 'ReportDownload'. - KIera Chat —
parentType = 'ChatMessage'.
Häufige Fehler und Lösungen
| Fehler | Lösung |
|---|---|
| Tab fehlt | Berechtigung prüfen — pro Tab eigenes Subject erforderlich. |
| Login-Tab leer | Per Code-TODO — Login-Audit ist noch nicht implementiert. |
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/audit-events | Liste | view AuditEvent |
GET | /api/audit-events/:id | Detail | view AuditEvent |
Versionshinweise
- 2026-04-29: Initiale Veroeffentlichung.