// =============================================================================
// Category Map — ControlCategory → name + gdprReference
// =============================================================================

import { ControlCategory, LocalizedString } from '../../types'

export const CATEGORY_MAP: Map<
  ControlCategory,
  { name: LocalizedString; gdprReference: string }
> = new Map([
  [
    'ACCESS_CONTROL',
    {
      name: { de: 'Zutrittskontrolle', en: 'Physical Access Control' },
      gdprReference: 'Art. 32 Abs. 1 lit. b',
    },
  ],
  [
    'ADMISSION_CONTROL',
    {
      name: { de: 'Zugangskontrolle', en: 'System Access Control' },
      gdprReference: 'Art. 32 Abs. 1 lit. b',
    },
  ],
  [
    'ACCESS_AUTHORIZATION',
    {
      name: { de: 'Zugriffskontrolle', en: 'Access Authorization' },
      gdprReference: 'Art. 32 Abs. 1 lit. b',
    },
  ],
  [
    'TRANSFER_CONTROL',
    {
      name: { de: 'Weitergabekontrolle', en: 'Transfer Control' },
      gdprReference: 'Art. 32 Abs. 1 lit. b',
    },
  ],
  [
    'INPUT_CONTROL',
    {
      name: { de: 'Eingabekontrolle', en: 'Input Control' },
      gdprReference: 'Art. 32 Abs. 1 lit. b',
    },
  ],
  [
    'ORDER_CONTROL',
    {
      name: { de: 'Auftragskontrolle', en: 'Order Control' },
      gdprReference: 'Art. 28',
    },
  ],
  [
    'AVAILABILITY',
    {
      name: { de: 'Verfügbarkeit', en: 'Availability' },
      gdprReference: 'Art. 32 Abs. 1 lit. b, c',
    },
  ],
  [
    'SEPARATION',
    {
      name: { de: 'Trennbarkeit', en: 'Separation' },
      gdprReference: 'Art. 32 Abs. 1 lit. b',
    },
  ],
  [
    'ENCRYPTION',
    {
      name: { de: 'Verschlüsselung', en: 'Encryption' },
      gdprReference: 'Art. 32 Abs. 1 lit. a',
    },
  ],
  [
    'PSEUDONYMIZATION',
    {
      name: { de: 'Pseudonymisierung', en: 'Pseudonymization' },
      gdprReference: 'Art. 32 Abs. 1 lit. a',
    },
  ],
  [
    'RESILIENCE',
    {
      name: { de: 'Belastbarkeit', en: 'Resilience' },
      gdprReference: 'Art. 32 Abs. 1 lit. b',
    },
  ],
  [
    'RECOVERY',
    {
      name: { de: 'Wiederherstellbarkeit', en: 'Recovery' },
      gdprReference: 'Art. 32 Abs. 1 lit. c',
    },
  ],
  [
    'REVIEW',
    {
      name: { de: 'Überprüfung & Bewertung', en: 'Review & Assessment' },
      gdprReference: 'Art. 32 Abs. 1 lit. d',
    },
  ],
])
