Zum Hauptinhalt springen

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

- Berechtigung `view:FE_Audit` als Page-Guard. - Pro Tab zusaetzliche Subjects (siehe Tabelle unten).

Berechtigungen (CASL)

Frontend-Page-Guard:

ActionSubjectKeycloak-Rolle
viewFE_Audit

Tab-Subjects:

TabSub-PfadSubject
Reports/audits/reportsAuditEvent:view
Compliance/audits/complianceComplianceCheck:view
Chat/audits/chatFE_ChatAudit:view + ChatMessage:view
Login(TODO im Code)AuditEvent:view

Schritt-für-Schritt-Anleitung

  1. Audits (/audits) → Default-Tab Reports öffnet sich.
  2. Pro Tab Filter setzen — z. B. nach parentType, Zeitraum oder Benutzer.
  3. Klick auf Eintrag — Detail-Pane oder direkter Sprung zur Quelle (z. B. einer ComplianceCheck-Seite).

Listenansicht — audits

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:

FeldnameDatentypWirkung
occurredAtDateTimeZeitstempel.
requestedByNameStringName des Ausloesers.
parentTypeEnumKlassifikation des Events (z. B. ReportDownload, ComplianceCheck, ChatMessage).
actionStringAktion (z. B. download, acknowledge, chat-send).
targetLabelStringBezeichnung des betroffenen Datensatzes.
parentIdUUIDFK zum betroffenen Datensatz.
fileNameString (read-only)Bei Report-Downloads der Dateiname.
categoryStringKlassifizierungs-Kategorie.

Wiederverwendbare Konzepte

Verknuepfungen zu anderen Modulen

  • Compliance-PrüfungenparentType = 'ComplianceCheck'.
  • Reports / PDF-DownloadsparentType = 'ReportDownload'.
  • KIera ChatparentType = 'ChatMessage'.

Häufige Fehler und Lösungen

FehlerLösung
Tab fehltBerechtigung prüfen — pro Tab eigenes Subject erforderlich.
Login-Tab leerPer Code-TODO — Login-Audit ist noch nicht implementiert.

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/audit-eventsListeview AuditEvent
GET/api/audit-events/:idDetailview AuditEvent

Versionshinweise

  • 2026-04-29: Initiale Veroeffentlichung.