feat: Analyse-Module auf 100% — Backend-Wiring, Proxy-Route, DELETE-Endpoints
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 35s
CI / test-python-backend-compliance (push) Successful in 29s
CI / test-python-document-crawler (push) Successful in 24s
CI / test-python-dsms-gateway (push) Successful in 17s

7 Analyse-Module (Requirements, Controls, Evidence, Risk Matrix, AI Act,
Audit Checklist, Audit Report) von ~35% auf 100% gebracht:

- Catch-all Proxy-Route /api/sdk/v1/compliance/[[...path]] erstellt
- DELETE-Endpoints fuer Risks und Evidence im Backend hinzugefuegt
- Alle 7 Frontend-Seiten ans Backend gewired (Fetch, PUT, POST, DELETE)
- Mock-Daten durch Backend-Daten ersetzt, Templates als Fallback
- Loading-Skeletons und Error-Banner hinzugefuegt
- AI Act: Add-System-Form + assess-risk API-Integration
- Audit Report: API-Pfade von /api/admin/ auf /api/sdk/v1/compliance/ korrigiert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-02 12:46:11 +01:00
parent f7a0b11e41
commit a50a9810ee
10 changed files with 1066 additions and 175 deletions

View File

@@ -63,7 +63,7 @@ export default function AuditReportPage() {
try {
setLoading(true)
const params = statusFilter !== 'all' ? `?status=${statusFilter}` : ''
const res = await fetch(`/api/admin/audit/sessions${params}`)
const res = await fetch(`/api/sdk/v1/compliance/audit/sessions${params}`)
if (!res.ok) throw new Error('Fehler beim Laden der Audit-Sessions')
const data = await res.json()
setSessions(data.sessions || [])
@@ -81,7 +81,7 @@ export default function AuditReportPage() {
}
try {
setCreating(true)
const res = await fetch('/api/admin/audit/sessions', {
const res = await fetch('/api/sdk/v1/compliance/audit/sessions', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(newSession),
@@ -99,7 +99,7 @@ export default function AuditReportPage() {
const startSession = async (sessionId: string) => {
try {
const res = await fetch(`/api/admin/audit/sessions/${sessionId}/start`, { method: 'PUT' })
const res = await fetch(`/api/sdk/v1/compliance/audit/sessions/${sessionId}/start`, { method: 'PUT' })
if (!res.ok) throw new Error('Fehler beim Starten der Session')
fetchSessions()
} catch (err) {
@@ -109,7 +109,7 @@ export default function AuditReportPage() {
const completeSession = async (sessionId: string) => {
try {
const res = await fetch(`/api/admin/audit/sessions/${sessionId}/complete`, { method: 'PUT' })
const res = await fetch(`/api/sdk/v1/compliance/audit/sessions/${sessionId}/complete`, { method: 'PUT' })
if (!res.ok) throw new Error('Fehler beim Abschliessen der Session')
fetchSessions()
} catch (err) {
@@ -120,7 +120,7 @@ export default function AuditReportPage() {
const deleteSession = async (sessionId: string) => {
if (!confirm('Session wirklich loeschen?')) return
try {
const res = await fetch(`/api/admin/audit/sessions/${sessionId}`, { method: 'DELETE' })
const res = await fetch(`/api/sdk/v1/compliance/audit/sessions/${sessionId}`, { method: 'DELETE' })
if (!res.ok) throw new Error('Fehler beim Loeschen der Session')
fetchSessions()
} catch (err) {
@@ -131,7 +131,7 @@ export default function AuditReportPage() {
const downloadPdf = async (sessionId: string) => {
try {
setGeneratingPdf(sessionId)
const res = await fetch(`/api/admin/audit/sessions/${sessionId}/pdf?language=${pdfLanguage}`)
const res = await fetch(`/api/sdk/v1/compliance/audit/sessions/${sessionId}/pdf?language=${pdfLanguage}`)
if (!res.ok) throw new Error('Fehler bei der PDF-Generierung')
const blob = await res.blob()
const url = window.URL.createObjectURL(blob)