"""
Seed data for Regulations.

16 EU Regulations + 3 BSI-TR documents covering:
- A. Datenschutz & Datenübermittlung
- B. KI-Regulierung
- C. Cybersecurity & Produktsicherheit
- D. Datenökonomie & Interoperabilität
- E. Plattform-Pflichten
- F. Barrierefreiheit
- G. IP & Urheberrecht
- H. Produkthaftung
- I. BSI-Standards (Deutschland)
"""

from datetime import date

REGULATIONS_SEED = [
    # =========================================================================
    # A. Datenschutz & Datenübermittlung
    # =========================================================================
    {
        "code": "GDPR",
        "name": "DSGVO",
        "full_name": "Verordnung (EU) 2016/679 - Datenschutz-Grundverordnung",
        "regulation_type": "eu_regulation",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2016/679/oj/eng",
        "effective_date": date(2018, 5, 25),
        "description": "Grundverordnung zum Schutz natürlicher Personen bei der Verarbeitung personenbezogener Daten. Kernstück der EU-Datenschutzgesetzgebung.",
        "is_active": True,
    },
    {
        "code": "EPRIVACY",
        "name": "ePrivacy-Richtlinie",
        "full_name": "Richtlinie 2002/58/EG - Datenschutz in der elektronischen Kommunikation",
        "regulation_type": "eu_directive",
        "source_url": "https://eur-lex.europa.eu/eli/dir/2002/58/oj/eng",
        "effective_date": date(2002, 7, 31),
        "description": "Regelt den Datenschutz in der elektronischen Kommunikation, insbesondere Cookies, Tracking und elektronisches Marketing.",
        "is_active": True,
    },
    {
        "code": "TDDDG",
        "name": "TDDDG",
        "full_name": "Telekommunikation-Digitale-Dienste-Datenschutz-Gesetz (ehem. TTDSG)",
        "regulation_type": "de_law",
        "source_url": "https://www.gesetze-im-internet.de/ttdsg/",
        "effective_date": date(2021, 12, 1),
        "description": "Deutsche Umsetzung der ePrivacy-Richtlinie. Regelt Datenschutz bei Telemedien und Telekommunikation.",
        "is_active": True,
    },
    {
        "code": "SCC",
        "name": "Standardvertragsklauseln",
        "full_name": "Durchführungsbeschluss (EU) 2021/914 - Standardvertragsklauseln für Drittlandtransfers",
        "regulation_type": "eu_regulation",
        "source_url": "https://eur-lex.europa.eu/eli/dec_impl/2021/914/oj/eng",
        "effective_date": date(2021, 6, 27),
        "description": "Standardvertragsklauseln für die Übermittlung personenbezogener Daten an Drittländer gemäß DSGVO.",
        "is_active": True,
    },
    {
        "code": "DPF",
        "name": "EU-US Data Privacy Framework",
        "full_name": "Durchführungsbeschluss (EU) 2023/1795 - Angemessenheitsbeschluss EU-US",
        "regulation_type": "eu_regulation",
        "source_url": "https://eur-lex.europa.eu/eli/dec_impl/2023/1795/oj",
        "effective_date": date(2023, 7, 10),
        "description": "Angemessenheitsbeschluss für Datenübermittlungen in die USA unter dem EU-US Data Privacy Framework.",
        "is_active": True,
    },

    # =========================================================================
    # B. KI-Regulierung
    # =========================================================================
    {
        "code": "AIACT",
        "name": "EU AI Act",
        "full_name": "Verordnung (EU) 2024/1689 - Verordnung zur Festlegung harmonisierter Vorschriften für KI",
        "regulation_type": "eu_regulation",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2024/1689/oj/eng",
        "effective_date": date(2024, 8, 1),
        "description": "EU-Verordnung zur Regulierung von KI-Systemen. Klassifiziert KI-Systeme nach Risikostufen und definiert Anforderungen für Hochrisiko-KI.",
        "is_active": True,
    },

    # =========================================================================
    # C. Cybersecurity & Produktsicherheit
    # =========================================================================
    {
        "code": "CRA",
        "name": "Cyber Resilience Act",
        "full_name": "Verordnung (EU) 2024/2847 - Horizontale Cybersicherheitsanforderungen für Produkte",
        "regulation_type": "eu_regulation",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2024/2847/oj/eng",
        "effective_date": date(2024, 12, 10),
        "description": "Cybersicherheitsanforderungen für Produkte mit digitalen Elementen. Verpflichtet zu SBOM, Vulnerability Disclosure und Support-Zeiträumen.",
        "is_active": True,
    },
    {
        "code": "NIS2",
        "name": "NIS2-Richtlinie",
        "full_name": "Richtlinie (EU) 2022/2555 - Maßnahmen für hohes Cybersicherheitsniveau",
        "regulation_type": "eu_directive",
        "source_url": "https://eur-lex.europa.eu/eli/dir/2022/2555/oj/eng",
        "effective_date": date(2024, 10, 17),
        "description": "Richtlinie zur Stärkung der Cybersicherheit wesentlicher und wichtiger Einrichtungen in der EU.",
        "is_active": True,
    },
    {
        "code": "EUCSA",
        "name": "EU Cybersecurity Act",
        "full_name": "Verordnung (EU) 2019/881 - ENISA und Cybersicherheitszertifizierung",
        "regulation_type": "eu_regulation",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2019/881/oj/eng",
        "effective_date": date(2019, 6, 27),
        "description": "Stärkt ENISA und etabliert einen EU-weiten Rahmen für Cybersicherheitszertifizierung von IKT-Produkten.",
        "is_active": True,
    },

    # =========================================================================
    # D. Datenökonomie & Interoperabilität
    # =========================================================================
    {
        "code": "DATAACT",
        "name": "Data Act",
        "full_name": "Verordnung (EU) 2023/2854 - Harmonisierte Vorschriften für fairen Datenzugang",
        "regulation_type": "eu_regulation",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2023/2854/oj/eng",
        "effective_date": date(2025, 9, 12),
        "description": "Regelt den fairen Zugang zu und die Nutzung von Daten. Betrifft IoT-Daten, Cloud-Wechsel und B2B-Datenfreigabe.",
        "is_active": True,
    },
    {
        "code": "DGA",
        "name": "Data Governance Act",
        "full_name": "Verordnung (EU) 2022/868 - Europäische Daten-Governance",
        "regulation_type": "eu_regulation",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2022/868/oj/eng",
        "effective_date": date(2023, 9, 24),
        "description": "Rahmenwerk für die Weiterverwendung öffentlicher Daten und Datenvermittlungsdienste.",
        "is_active": True,
    },

    # =========================================================================
    # E. Plattform-Pflichten
    # =========================================================================
    {
        "code": "DSA",
        "name": "Digital Services Act",
        "full_name": "Verordnung (EU) 2022/2065 - Binnenmarkt für digitale Dienste",
        "regulation_type": "eu_regulation",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2022/2065/oj/eng",
        "effective_date": date(2024, 2, 17),
        "description": "Reguliert digitale Dienste und Plattformen. Transparenzpflichten, Content Moderation, Beschwerdemechanismen.",
        "is_active": True,
    },

    # =========================================================================
    # F. Barrierefreiheit
    # =========================================================================
    {
        "code": "EAA",
        "name": "European Accessibility Act",
        "full_name": "Richtlinie (EU) 2019/882 - Barrierefreiheitsanforderungen für Produkte und Dienstleistungen",
        "regulation_type": "eu_directive",
        "source_url": "https://eur-lex.europa.eu/eli/dir/2019/882/oj/eng",
        "effective_date": date(2025, 6, 28),
        "description": "Barrierefreiheitsanforderungen für digitale Produkte und Dienstleistungen. Relevant für Web, Mobile Apps, E-Commerce.",
        "is_active": True,
    },

    # =========================================================================
    # G. IP & Urheberrecht
    # =========================================================================
    {
        "code": "DSM",
        "name": "DSM-Urheberrechtsrichtlinie",
        "full_name": "Richtlinie (EU) 2019/790 - Urheberrecht im digitalen Binnenmarkt",
        "regulation_type": "eu_directive",
        "source_url": "https://eur-lex.europa.eu/eli/dir/2019/790/oj/eng",
        "effective_date": date(2021, 6, 7),
        "description": "Modernisiert das Urheberrecht für den digitalen Binnenmarkt. Betrifft Text- und Data-Mining, Upload-Filter.",
        "is_active": True,
    },

    # =========================================================================
    # H. Produkthaftung
    # =========================================================================
    {
        "code": "PLD",
        "name": "Produkthaftungsrichtlinie",
        "full_name": "Richtlinie (EU) 2024/2853 - Haftung für fehlerhafte Produkte",
        "regulation_type": "eu_directive",
        "source_url": "https://eur-lex.europa.eu/eli/dir/2024/2853/oj/eng",
        "effective_date": date(2026, 12, 9),
        "description": "Neue Produkthaftungsrichtlinie. Erweitert Haftung auf Software und KI-Systeme.",
        "is_active": True,
    },
    {
        "code": "GPSR",
        "name": "General Product Safety Regulation",
        "full_name": "Verordnung (EU) 2023/988 - Allgemeine Produktsicherheit",
        "regulation_type": "eu_regulation",
        "source_url": "https://eur-lex.europa.eu/eli/reg/2023/988/oj/eng",
        "effective_date": date(2024, 12, 13),
        "description": "Allgemeine Produktsicherheitsverordnung. Sicherheitsanforderungen für Verbraucherprodukte inkl. digitaler Produkte.",
        "is_active": True,
    },

    # =========================================================================
    # I. BSI-Standards (Deutschland)
    # =========================================================================
    {
        "code": "BSI-TR-03161-1",
        "name": "BSI-TR-03161 Teil 1",
        "full_name": "BSI Technische Richtlinie - Anforderungen an Anwendungen im Gesundheitswesen - Teil 1: Mobile Anwendungen",
        "regulation_type": "bsi_standard",
        "source_url": "https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03161/BSI-TR-03161-1.html",
        "local_pdf_path": "/docs/BSI-TR-03161-1.pdf",
        "effective_date": date(2022, 1, 1),
        "description": "BSI Richtlinie für mobile Anwendungen. Teil 1: Allgemeine Sicherheitsanforderungen.",
        "is_active": True,
    },
    {
        "code": "BSI-TR-03161-2",
        "name": "BSI-TR-03161 Teil 2",
        "full_name": "BSI Technische Richtlinie - Anforderungen an Anwendungen im Gesundheitswesen - Teil 2: Web-Anwendungen",
        "regulation_type": "bsi_standard",
        "source_url": "https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03161/BSI-TR-03161-2.html",
        "local_pdf_path": "/docs/BSI-TR-03161-2.pdf",
        "effective_date": date(2022, 1, 1),
        "description": "BSI Richtlinie für Web-Anwendungen. Teil 2: Sicherheitsanforderungen für Web-Frontends und APIs.",
        "is_active": True,
    },
    {
        "code": "BSI-TR-03161-3",
        "name": "BSI-TR-03161 Teil 3",
        "full_name": "BSI Technische Richtlinie - Anforderungen an Anwendungen im Gesundheitswesen - Teil 3: Hintergrundsysteme",
        "regulation_type": "bsi_standard",
        "source_url": "https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03161/BSI-TR-03161-3.html",
        "local_pdf_path": "/docs/BSI-TR-03161-3.pdf",
        "effective_date": date(2022, 1, 1),
        "description": "BSI Richtlinie für Hintergrundsysteme. Teil 3: Anforderungen an Backend-Systeme und Infrastruktur.",
        "is_active": True,
    },
]
