feat: DSFA Modul — Backend, Proxy, Frontend-Migration, Tests + Mock-Daten entfernt
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 38s
CI / test-python-backend-compliance (push) Successful in 38s
CI / test-python-document-crawler (push) Successful in 22s
CI / test-python-dsms-gateway (push) Successful in 19s
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 38s
CI / test-python-backend-compliance (push) Successful in 38s
CI / test-python-document-crawler (push) Successful in 22s
CI / test-python-dsms-gateway (push) Successful in 19s
- Migration 024: compliance_dsfas + compliance_dsfa_audit_log Tabellen - dsfa_routes.py: CRUD + stats + audit-log + PATCH status Endpoints - Proxy: /api/sdk/v1/dsfa/[[...path]] → backend-compliance:8002/api/v1/dsfa - dsfa/page.tsx: mockDSFAs entfernt → echte API (loadDSFAs, handleCreateDSFA, handleStatusChange, handleDeleteDSFA) - GeneratorWizard: kontrollierte Inputs + onSubmit-Handler - reporting/page.tsx: getMockReport() Fallback entfernt → Fehlerstate - dsr/[requestId]/page.tsx: mockCommunications entfernt → leeres Array (TODO: Backend fehlt) - 52 neue Tests (680 gesamt, alle grün) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
33
backend-compliance/migrations/024_dsfa.sql
Normal file
33
backend-compliance/migrations/024_dsfa.sql
Normal file
@@ -0,0 +1,33 @@
|
||||
-- Migration 024: DSFA — Datenschutz-Folgenabschaetzung (Art. 35 DSGVO)
|
||||
|
||||
CREATE TABLE IF NOT EXISTS compliance_dsfas (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id VARCHAR(255) NOT NULL,
|
||||
title VARCHAR(500) NOT NULL,
|
||||
description TEXT DEFAULT '',
|
||||
status VARCHAR(50) NOT NULL DEFAULT 'draft',
|
||||
risk_level VARCHAR(50) NOT NULL DEFAULT 'low',
|
||||
processing_activity VARCHAR(500) DEFAULT '',
|
||||
data_categories JSONB DEFAULT '[]',
|
||||
recipients JSONB DEFAULT '[]',
|
||||
measures JSONB DEFAULT '[]',
|
||||
approved_by VARCHAR(255),
|
||||
approved_at TIMESTAMPTZ,
|
||||
created_by VARCHAR(255) DEFAULT 'system',
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_dsfas_tenant ON compliance_dsfas(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_dsfas_status ON compliance_dsfas(status);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS compliance_dsfa_audit_log (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id VARCHAR(255),
|
||||
dsfa_id UUID REFERENCES compliance_dsfas(id) ON DELETE SET NULL,
|
||||
action VARCHAR(50) NOT NULL,
|
||||
changed_by VARCHAR(255) DEFAULT 'system',
|
||||
old_values JSONB,
|
||||
new_values JSONB,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
Reference in New Issue
Block a user