import { Component, inject, signal } from '@angular/core'; import { ApiClientService, type AuditLogDto } from '@boilerplate/api-client'; @Component({ standalone: true, template: `
@for (entry of entries(); track entry.id) {
{{ labels[entry.action] || entry.action }} {{ entry.createdAt }} ยท Objekt: {{ entry.targetType }} {{ entry.targetId }} Request-ID: {{ entry.requestId }}
}
`, }) export class AuditPageComponent { private readonly api = inject(ApiClientService); readonly entries = signal([]); readonly labels: Record = { USER_ACTIVATED: 'Benutzer aktiviert', USER_DEACTIVATED: 'Benutzer deaktiviert', USER_ROLE_ASSIGNED: 'Rolle zugewiesen', USER_ROLE_REMOVED: 'Rolle entfernt', ROLE_CREATED: 'Rolle erstellt', ROLE_UPDATED: 'Rolle aktualisiert', ROLE_DELETED: 'Rolle geloescht', ROLE_PERMISSIONS_UPDATED: 'Permissions aktualisiert', SESSION_REVOKED: 'Session beendet', ALL_USER_SESSIONS_REVOKED: 'Alle Sessions beendet', }; constructor() { this.api.audit().subscribe((page) => this.entries.set(page.items)); } }