Files
breakpilot-compliance/admin-compliance/app/sdk/audit-timeline/_hooks/useAuditTimeline.ts
T
Benjamin Admin edbf6d2be5
Build + Deploy / build-admin-compliance (push) Successful in 1m58s
Build + Deploy / build-backend-compliance (push) Successful in 12s
Build + Deploy / build-ai-sdk (push) Successful in 11s
Build + Deploy / build-developer-portal (push) Successful in 11s
Build + Deploy / build-tts (push) Successful in 21s
Build + Deploy / build-document-crawler (push) Successful in 11s
Build + Deploy / build-dsms-gateway (push) Successful in 14s
Build + Deploy / build-dsms-node (push) Successful in 14s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / loc-budget (push) Failing after 15s
CI / secret-scan (push) Has been skipped
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m40s
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / test-go (push) Successful in 40s
CI / test-python-backend (push) Successful in 37s
CI / test-python-document-crawler (push) Successful in 26s
CI / test-python-dsms-gateway (push) Successful in 22s
CI / validate-canonical-controls (push) Successful in 14s
Build + Deploy / trigger-orca (push) Successful in 2m26s
feat(dsms): Stufe 2+3 — Evidence/TechFile → DSMS + Version Chains + Audit Timeline
Stufe 2A: Evidence Upload → automatische DSMS-Archivierung
- Nach SHA-256 Hash → archive_to_dsms(), CID im Audit-Trail
- Evidence mit CID wird automatisch zu E2 (hash-verifiziert) hochgestuft

Stufe 2B: IACE Tech-File Export → DSMS
- PDF/Excel/DOCX/Markdown Exporte werden nach DSMS archiviert
- archiveTechFile() Helper fuer alle 4 Formate

Stufe 3A: DSMS Gateway — parent_cid + History Endpoint
- parent_cid + tenant_id Felder in DocumentMetadata
- GET /documents/{cid}/history — folgt parent_cid-Chain (max 50 deep)

Stufe 3C: Audit Timeline UI
- Neue Seite /sdk/audit-timeline
- Vertikale Timeline mit farbigen Action-Dots
- Filter: Alle, Nachweis, DSMS-Archiv, Control, Dokument, DSFA, VVT, TOM
- CID-Badges fuer DSMS-archivierte Eintraege

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 13:55:07 +02:00

47 lines
1.2 KiB
TypeScript

'use client'
import { useState, useEffect } from 'react'
export interface AuditEntry {
id: string
entity_type: string
entity_id: string
entity_name: string
action: string
field_changed: string | null
old_value: string | null
new_value: string | null
change_summary: string | null
performed_by: string
performed_at: string
}
export function useAuditTimeline() {
const [entries, setEntries] = useState<AuditEntry[]>([])
const [loading, setLoading] = useState(true)
const [filter, setFilter] = useState<string>('all')
useEffect(() => {
loadEntries()
}, [filter]) // eslint-disable-line react-hooks/exhaustive-deps
async function loadEntries() {
setLoading(true)
try {
const params = new URLSearchParams({ limit: '100' })
if (filter !== 'all') params.set('entity_type', filter)
const res = await fetch(`/api/sdk/v1/compliance/audit-trail?${params}`)
if (res.ok) {
const json = await res.json()
setEntries(json.entries || json.audit_trail || json || [])
}
} catch (err) {
console.error('Failed to load audit trail:', err)
} finally {
setLoading(false)
}
}
return { entries, loading, filter, setFilter }
}