// ==========================================
// ENUMS - VVT / PROCESSING ACTIVITIES
// ==========================================

export type ProcessingActivityStatus = 'DRAFT' | 'REVIEW' | 'APPROVED' | 'ARCHIVED'

export type ProtectionLevel = 'LOW' | 'MEDIUM' | 'HIGH'

export type DataSubjectCategory =
  | 'EMPLOYEES'           // Beschaeftigte
  | 'APPLICANTS'          // Bewerber
  | 'CUSTOMERS'           // Kunden
  | 'PROSPECTIVE_CUSTOMERS' // Interessenten
  | 'SUPPLIERS'           // Lieferanten
  | 'BUSINESS_PARTNERS'   // Geschaeftspartner
  | 'VISITORS'            // Besucher
  | 'WEBSITE_USERS'       // Website-Nutzer
  | 'APP_USERS'           // App-Nutzer
  | 'NEWSLETTER_SUBSCRIBERS' // Newsletter-Abonnenten
  | 'MEMBERS'             // Mitglieder
  | 'PATIENTS'            // Patienten
  | 'STUDENTS'            // Schueler/Studenten
  | 'MINORS'              // Minderjaehrige
  | 'OTHER'

export type PersonalDataCategory =
  | 'NAME'                // Name
  | 'CONTACT'             // Kontaktdaten
  | 'ADDRESS'             // Adressdaten
  | 'DOB'                 // Geburtsdatum
  | 'ID_NUMBER'           // Ausweisnummern
  | 'SOCIAL_SECURITY'     // Sozialversicherungsnummer
  | 'TAX_ID'              // Steuer-ID
  | 'BANK_ACCOUNT'        // Bankverbindung
  | 'PAYMENT_DATA'        // Zahlungsdaten
  | 'EMPLOYMENT_DATA'     // Beschaeftigungsdaten
  | 'SALARY_DATA'         // Gehaltsdaten
  | 'EDUCATION_DATA'      // Bildungsdaten
  | 'PHOTO_VIDEO'         // Fotos/Videos
  | 'IP_ADDRESS'          // IP-Adressen
  | 'DEVICE_ID'           // Geraete-Kennungen
  | 'LOCATION_DATA'       // Standortdaten
  | 'USAGE_DATA'          // Nutzungsdaten
  | 'COMMUNICATION_DATA'  // Kommunikationsdaten
  | 'CONTRACT_DATA'       // Vertragsdaten
  | 'LOGIN_DATA'          // Login-Daten
  // Besondere Kategorien Art. 9 DSGVO
  | 'HEALTH_DATA'         // Gesundheitsdaten
  | 'GENETIC_DATA'        // Genetische Daten
  | 'BIOMETRIC_DATA'      // Biometrische Daten
  | 'RACIAL_ETHNIC'       // Rassische/Ethnische Herkunft
  | 'POLITICAL_OPINIONS'  // Politische Meinungen
  | 'RELIGIOUS_BELIEFS'   // Religiose Ueberzeugungen
  | 'TRADE_UNION'         // Gewerkschaftszugehoerigkeit
  | 'SEX_LIFE'            // Sexualleben/Orientierung
  // Art. 10 DSGVO
  | 'CRIMINAL_DATA'       // Strafrechtliche Daten
  | 'OTHER'

export type RecipientCategoryType =
  | 'INTERNAL'            // Interne Stellen
  | 'GROUP_COMPANY'       // Konzernunternehmen
  | 'PROCESSOR'           // Auftragsverarbeiter
  | 'CONTROLLER'          // Verantwortlicher
  | 'AUTHORITY'           // Behoerden
  | 'OTHER'

export type LegalBasisType =
  // Art. 6 Abs. 1 DSGVO
  | 'CONSENT'             // lit. a - Einwilligung
  | 'CONTRACT'            // lit. b - Vertragsdurchfuehrung
  | 'LEGAL_OBLIGATION'    // lit. c - Rechtliche Verpflichtung
  | 'VITAL_INTEREST'      // lit. d - Lebenswichtige Interessen
  | 'PUBLIC_TASK'         // lit. e - Oeffentliche Aufgabe
  | 'LEGITIMATE_INTEREST' // lit. f - Berechtigtes Interesse
  // Art. 9 Abs. 2 DSGVO (besondere Kategorien)
  | 'ART9_CONSENT'        // lit. a - Ausdrueckliche Einwilligung
  | 'ART9_EMPLOYMENT'     // lit. b - Arbeitsrecht
  | 'ART9_VITAL_INTEREST' // lit. c - Lebenswichtige Interessen
  | 'ART9_FOUNDATION'     // lit. d - Stiftung/Verein
  | 'ART9_PUBLIC'         // lit. e - Offenkundig oeffentlich
  | 'ART9_LEGAL_CLAIMS'   // lit. f - Rechtsansprueche
  | 'ART9_PUBLIC_INTEREST'// lit. g - Oeffentliches Interesse
  | 'ART9_HEALTH'         // lit. h - Gesundheitsversorgung
  | 'ART9_PUBLIC_HEALTH'  // lit. i - Oeffentliche Gesundheit
  | 'ART9_ARCHIVING'      // lit. j - Archivzwecke

export type TransferMechanismType =
  | 'ADEQUACY_DECISION'   // Angemessenheitsbeschluss
  | 'SCC_CONTROLLER'      // SCC Controller-to-Controller
  | 'SCC_PROCESSOR'       // SCC Controller-to-Processor
  | 'BCR'                 // Binding Corporate Rules
  | 'DEROGATION_CONSENT'  // Ausdrueckliche Einwilligung
  | 'DEROGATION_CONTRACT' // Vertragserfuellung
  | 'DEROGATION_LEGAL'    // Rechtsansprueche
  | 'DEROGATION_PUBLIC'   // Oeffentliches Interesse
  | 'CERTIFICATION'       // Zertifizierung
  | 'CODE_OF_CONDUCT'     // Verhaltensregeln

export type DataSourceType =
  | 'DATA_SUBJECT'        // Betroffene Person selbst
  | 'THIRD_PARTY'         // Dritte
  | 'PUBLIC_SOURCE'       // Oeffentliche Quellen
  | 'AUTOMATED'           // Automatisiert generiert
  | 'EMPLOYEE'            // Mitarbeiter
  | 'OTHER'

// ==========================================
// ENUMS - VENDOR
// ==========================================

export type VendorRole =
  | 'PROCESSOR'           // Auftragsverarbeiter
  | 'JOINT_CONTROLLER'    // Gemeinsam Verantwortlicher
  | 'CONTROLLER'          // Eigenstaendiger Verantwortlicher
  | 'SUB_PROCESSOR'       // Unterauftragnehmer
  | 'THIRD_PARTY'         // Dritter (kein Datenzugriff)

export type ServiceCategory =
  | 'HOSTING'
  | 'CLOUD_INFRASTRUCTURE'
  | 'ANALYTICS'
  | 'CRM'
  | 'ERP'
  | 'HR_SOFTWARE'
  | 'PAYMENT'
  | 'EMAIL'
  | 'MARKETING'
  | 'SUPPORT'
  | 'SECURITY'
  | 'INTEGRATION'
  | 'CONSULTING'
  | 'LEGAL'
  | 'ACCOUNTING'
  | 'COMMUNICATION'
  | 'STORAGE'
  | 'BACKUP'
  | 'CDN'
  | 'OTHER'

export type DataAccessLevel =
  | 'NONE'                // Kein Datenzugriff
  | 'POTENTIAL'           // Potenzieller Zugriff (z.B. Admin)
  | 'ADMINISTRATIVE'      // Administrativer Zugriff
  | 'CONTENT'             // Inhaltlicher Zugriff

export type VendorStatus =
  | 'ACTIVE'
  | 'INACTIVE'
  | 'PENDING_REVIEW'
  | 'TERMINATED'

export type ReviewFrequency =
  | 'QUARTERLY'
  | 'SEMI_ANNUAL'
  | 'ANNUAL'
  | 'BIENNIAL'

// ==========================================
// ENUMS - CONTRACT
// ==========================================

export type DocumentType =
  | 'AVV'                 // Auftragsverarbeitungsvertrag
  | 'MSA'                 // Master Service Agreement
  | 'SLA'                 // Service Level Agreement
  | 'SCC'                 // Standard Contractual Clauses
  | 'NDA'                 // Non-Disclosure Agreement
  | 'TOM_ANNEX'           // TOM-Anlage
  | 'CERTIFICATION'       // Zertifikat
  | 'SUB_PROCESSOR_LIST'  // Unterauftragsverarbeiter-Liste
  | 'OTHER'

export type ContractReviewStatus =
  | 'PENDING'
  | 'IN_PROGRESS'
  | 'COMPLETED'
  | 'FAILED'

export type ContractStatus =
  | 'DRAFT'
  | 'SIGNED'
  | 'ACTIVE'
  | 'EXPIRED'
  | 'TERMINATED'

// ==========================================
// ENUMS - FINDINGS
// ==========================================

export type FindingType =
  | 'OK'                  // Anforderung erfuellt
  | 'GAP'                 // Luecke/fehlend
  | 'RISK'                // Risiko identifiziert
  | 'UNKNOWN'             // Nicht eindeutig

export type FindingCategory =
  | 'AVV_CONTENT'         // Art. 28 Abs. 3 Mindestinhalte
  | 'SUBPROCESSOR'        // Unterauftragnehmer-Regelung
  | 'INCIDENT'            // Incident-Meldepflichten
  | 'AUDIT_RIGHTS'        // Audit-/Inspektionsrechte
  | 'DELETION'            // Loeschung/Rueckgabe
  | 'TOM'                 // Technische/Org. Massnahmen
  | 'TRANSFER'            // Drittlandtransfer
  | 'LIABILITY'           // Haftung/Indemnity
  | 'SLA'                 // Verfuegbarkeit
  | 'DATA_SUBJECT_RIGHTS' // Betroffenenrechte
  | 'CONFIDENTIALITY'     // Vertraulichkeit
  | 'INSTRUCTION'         // Weisungsgebundenheit
  | 'TERMINATION'         // Vertragsbeendigung
  | 'GENERAL'             // Allgemein

export type FindingSeverity = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'

export type FindingStatus =
  | 'OPEN'
  | 'IN_PROGRESS'
  | 'RESOLVED'
  | 'ACCEPTED'
  | 'FALSE_POSITIVE'

// ==========================================
// ENUMS - RISK & CONTROLS
// ==========================================

export type ControlDomain =
  | 'TRANSFER'            // Drittlandtransfer
  | 'AUDIT'               // Auditrechte
  | 'DELETION'            // Loeschung
  | 'INCIDENT'            // Incident Response
  | 'SUBPROCESSOR'        // Unterauftragnehmer
  | 'TOM'                 // Tech/Org Massnahmen
  | 'CONTRACT'            // Vertragliche Grundlagen
  | 'DATA_SUBJECT'        // Betroffenenrechte
  | 'SECURITY'            // Sicherheit
  | 'GOVERNANCE'          // Governance

export type ControlStatus =
  | 'PASS'
  | 'PARTIAL'
  | 'FAIL'
  | 'NOT_APPLICABLE'
  | 'PLANNED'

export type RiskLevel = 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'

export type EntityType = 'VENDOR' | 'PROCESSING_ACTIVITY' | 'CONTRACT'

export type EvidenceType = 'DOCUMENT' | 'SCREENSHOT' | 'LINK' | 'ATTESTATION'

// ==========================================
// ENUMS - EXPORT
// ==========================================

export type ReportType =
  | 'VVT_EXPORT'
  | 'VENDOR_AUDIT'
  | 'ROPA'
  | 'MANAGEMENT_SUMMARY'
  | 'DPIA_INPUT'

export type ExportFormat = 'PDF' | 'DOCX' | 'XLSX' | 'JSON'
