// =============================================================================
// HELPER TYPES FOR UI
// =============================================================================

export interface DSFASectionConfig {
  number: number
  title: string
  titleDE: string
  description: string
  gdprRef: string
  fields: string[]
  required: boolean
}

export const DSFA_SECTIONS: DSFASectionConfig[] = [
  {
    number: 0,
    title: 'Threshold Analysis',
    titleDE: 'Schwellwertanalyse',
    description: 'Prüfen Sie anhand der WP248-Kriterien und Art. 35 Abs. 3, ob eine DSFA erforderlich ist. Die Entscheidung ist zu dokumentieren.',
    gdprRef: 'Art. 35 Abs. 1 DSGVO, WP248 rev.01',
    fields: ['threshold_analysis', 'wp248_criteria_met', 'art35_abs3_triggered'],
    required: true,
  },
  {
    number: 1,
    title: 'Processing Description',
    titleDE: 'Systematische Beschreibung',
    description: 'Beschreiben Sie die geplante Verarbeitung, ihren Zweck, die Datenkategorien und Rechtsgrundlage.',
    gdprRef: 'Art. 35 Abs. 7 lit. a DSGVO',
    fields: ['processing_description', 'processing_purpose', 'data_categories', 'data_subjects', 'recipients', 'legal_basis'],
    required: true,
  },
  {
    number: 2,
    title: 'Necessity & Proportionality',
    titleDE: 'Notwendigkeit & Verhältnismäßigkeit',
    description: 'Begründen Sie, warum die Verarbeitung notwendig ist und welche Alternativen geprüft wurden.',
    gdprRef: 'Art. 35 Abs. 7 lit. b DSGVO',
    fields: ['necessity_assessment', 'proportionality_assessment', 'data_minimization', 'alternatives_considered'],
    required: true,
  },
  {
    number: 3,
    title: 'Risk Assessment',
    titleDE: 'Risikobewertung',
    description: 'Identifizieren und bewerten Sie die Risiken für die Rechte und Freiheiten der Betroffenen.',
    gdprRef: 'Art. 35 Abs. 7 lit. c DSGVO',
    fields: ['risks', 'overall_risk_level', 'risk_score', 'affected_rights', 'involves_ai', 'ai_trigger_ids'],
    required: true,
  },
  {
    number: 4,
    title: 'Mitigation Measures',
    titleDE: 'Abhilfemaßnahmen',
    description: 'Definieren Sie technische und organisatorische Maßnahmen zur Risikominimierung und bewerten Sie das Restrisiko.',
    gdprRef: 'Art. 35 Abs. 7 lit. d DSGVO',
    fields: ['mitigations', 'tom_references', 'residual_risk_level'],
    required: true,
  },
  {
    number: 5,
    title: 'Stakeholder Consultation',
    titleDE: 'Betroffenenperspektive',
    description: 'Dokumentieren Sie, ob und wie die Standpunkte der Betroffenen eingeholt wurden (z.B. Betriebsrat, Nutzerumfragen).',
    gdprRef: 'Art. 35 Abs. 9 DSGVO',
    fields: ['stakeholder_consultations', 'stakeholder_consultation_not_appropriate', 'stakeholder_consultation_not_appropriate_reason'],
    required: false,
  },
  {
    number: 6,
    title: 'DPO Opinion & Authority Consultation',
    titleDE: 'DSB-Stellungnahme & Behördenkonsultation',
    description: 'Dokumentieren Sie die Konsultation des DSB und prüfen Sie, ob bei hohem Restrisiko eine Behördenkonsultation erforderlich ist.',
    gdprRef: 'Art. 35 Abs. 2, Art. 36 DSGVO',
    fields: ['dpo_consulted', 'dpo_opinion', 'consultation_requirement', 'authority_consulted', 'authority_reference'],
    required: true,
  },
  {
    number: 7,
    title: 'Review & Maintenance',
    titleDE: 'Fortschreibung & Review',
    description: 'Planen Sie regelmäßige Überprüfungen und dokumentieren Sie Änderungen, die eine Aktualisierung der DSFA erfordern.',
    gdprRef: 'Art. 35 Abs. 11 DSGVO',
    fields: ['review_schedule', 'review_triggers', 'version'],
    required: true,
  },
  {
    number: 8,
    title: 'AI Use Cases',
    titleDE: 'KI-Anwendungsfälle',
    description: 'Modulare Anhänge für KI-spezifische Risiken und Maßnahmen nach Art. 22 DSGVO und EU AI Act.',
    gdprRef: 'Art. 35 DSGVO, Art. 22 DSGVO, EU AI Act',
    fields: ['ai_use_case_modules'],
    required: false,
  },
]
