refactor(admin): split lib document generators and data catalogs into domain barrels

obligations-document, tom-document, loeschfristen-document, compliance-scope-triggers,
sdk-flow/flow-data, processing-activities, loeschfristen-baseline-catalog,
catalog-registry, dsfa mitigation-library + risk-catalog, vvt-baseline-catalog,
vendor contract-review checklists + findings, demo-data, tom-compliance.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Sharang Parnerkar
2026-04-18 00:07:03 +02:00
parent b00fe6cb73
commit 91063f09b8
65 changed files with 9514 additions and 9544 deletions

View File

@@ -0,0 +1,61 @@
/**
* DSFA Massnahmenbibliothek — Helpers & Assembled Library
*/
import type { DSFAMitigationType, SDMGoal } from '../types'
import type { CatalogMitigation } from './types'
import { ACCESS_CONTROL_MITIGATIONS, INTEGRITY_MITIGATIONS } from './access-integrity'
import { AVAILABILITY_MITIGATIONS, MINIMIZATION_NONLINKAGE_MITIGATIONS } from './availability-minimization'
import { TRANSPARENCY_MITIGATIONS, INTERVENTION_MITIGATIONS, AUTOMATION_ORG_LEGAL_MITIGATIONS } from './transparency-intervention-org'
export const MITIGATION_LIBRARY: CatalogMitigation[] = [
...ACCESS_CONTROL_MITIGATIONS,
...INTEGRITY_MITIGATIONS,
...AVAILABILITY_MITIGATIONS,
...MINIMIZATION_NONLINKAGE_MITIGATIONS,
...TRANSPARENCY_MITIGATIONS,
...INTERVENTION_MITIGATIONS,
...AUTOMATION_ORG_LEGAL_MITIGATIONS,
]
export function getMitigationsBySDMGoal(goal: SDMGoal): CatalogMitigation[] {
return MITIGATION_LIBRARY.filter(m => m.sdmGoals.includes(goal))
}
export function getMitigationsByType(type: DSFAMitigationType): CatalogMitigation[] {
return MITIGATION_LIBRARY.filter(m => m.type === type)
}
export function getMitigationsForRisk(riskId: string): CatalogMitigation[] {
return MITIGATION_LIBRARY.filter(m => m.addressesRiskIds.includes(riskId))
}
export function getCatalogMitigationById(id: string): CatalogMitigation | undefined {
return MITIGATION_LIBRARY.find(m => m.id === id)
}
export function getMitigationsByEffectiveness(effectiveness: 'low' | 'medium' | 'high'): CatalogMitigation[] {
return MITIGATION_LIBRARY.filter(m => m.effectiveness === effectiveness)
}
export const MITIGATION_TYPE_LABELS: Record<DSFAMitigationType, string> = {
technical: 'Technisch',
organizational: 'Organisatorisch',
legal: 'Rechtlich',
}
export const SDM_GOAL_LABELS: Record<SDMGoal, string> = {
datenminimierung: 'Datenminimierung',
verfuegbarkeit: 'Verfuegbarkeit',
integritaet: 'Integritaet',
vertraulichkeit: 'Vertraulichkeit',
nichtverkettung: 'Nichtverkettung',
transparenz: 'Transparenz',
intervenierbarkeit: 'Intervenierbarkeit',
}
export const EFFECTIVENESS_LABELS: Record<string, string> = {
low: 'Gering',
medium: 'Mittel',
high: 'Hoch',
}