feat(sdk): VVT master libraries, process templates, Loeschfristen profiling + document
VVT: Master library tables (7 catalogs), 500+ seed entries, process templates with instantiation, library API endpoints + 18 tests. Loeschfristen: Baseline catalog, compliance checks, profiling engine, HTML document generator, MkDocs documentation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
54
backend-compliance/migrations/066_vvt_process_templates.sql
Normal file
54
backend-compliance/migrations/066_vvt_process_templates.sql
Normal file
@@ -0,0 +1,54 @@
|
||||
-- Migration 066: VVT Process Templates + Activity extensions
|
||||
-- Template table + new ref columns on compliance_vvt_activities
|
||||
|
||||
BEGIN;
|
||||
|
||||
-- =============================================================================
|
||||
-- Process Templates
|
||||
-- =============================================================================
|
||||
CREATE TABLE IF NOT EXISTS vvt_process_templates (
|
||||
id VARCHAR(80) PRIMARY KEY,
|
||||
name VARCHAR(300) NOT NULL,
|
||||
description TEXT,
|
||||
business_function VARCHAR(50),
|
||||
purpose_refs JSONB DEFAULT '[]'::jsonb,
|
||||
legal_basis_refs JSONB DEFAULT '[]'::jsonb,
|
||||
data_subject_refs JSONB DEFAULT '[]'::jsonb,
|
||||
data_category_refs JSONB DEFAULT '[]'::jsonb,
|
||||
recipient_refs JSONB DEFAULT '[]'::jsonb,
|
||||
tom_refs JSONB DEFAULT '[]'::jsonb,
|
||||
transfer_mechanism_refs JSONB DEFAULT '[]'::jsonb,
|
||||
retention_rule_ref VARCHAR(50),
|
||||
typical_systems JSONB DEFAULT '[]'::jsonb,
|
||||
protection_level VARCHAR(10) DEFAULT 'MEDIUM',
|
||||
dpia_required BOOLEAN DEFAULT FALSE,
|
||||
risk_score INTEGER,
|
||||
tags JSONB DEFAULT '[]'::jsonb,
|
||||
is_system BOOLEAN DEFAULT TRUE,
|
||||
tenant_id UUID,
|
||||
sort_order INTEGER DEFAULT 0,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_vvt_process_templates_bf ON vvt_process_templates(business_function);
|
||||
CREATE INDEX IF NOT EXISTS idx_vvt_process_templates_system ON vvt_process_templates(is_system);
|
||||
|
||||
-- =============================================================================
|
||||
-- New columns on compliance_vvt_activities (all DEFAULT NULL for backward compat)
|
||||
-- =============================================================================
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS purpose_refs JSONB DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS legal_basis_refs JSONB DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS data_subject_refs JSONB DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS data_category_refs JSONB DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS recipient_refs JSONB DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS retention_rule_ref VARCHAR(50) DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS transfer_mechanism_refs JSONB DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS tom_refs JSONB DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS linked_loeschfristen_ids JSONB DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS linked_tom_measure_ids JSONB DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS source_template_id VARCHAR(80) DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS risk_score INTEGER DEFAULT NULL;
|
||||
ALTER TABLE compliance_vvt_activities ADD COLUMN IF NOT EXISTS art30_completeness JSONB DEFAULT NULL;
|
||||
|
||||
COMMIT;
|
||||
Reference in New Issue
Block a user