/**
 * Demo Use Cases for AI Compliance SDK
 */

import { UseCaseAssessment, AssessmentResult } from '../types'

export const DEMO_USE_CASES: UseCaseAssessment[] = [
  {
    id: 'demo-uc-1',
    name: 'KI-gestützte Kundenanalyse',
    description: 'Analyse von Kundenverhalten und Präferenzen mittels Machine Learning zur Personalisierung von Angeboten und Verbesserung des Customer Lifetime Value. Das System verarbeitet Transaktionsdaten, Clickstreams und demographische Informationen.',
    category: 'Marketing',
    stepsCompleted: 8,
    steps: [
      { id: 'uc1-step-1', name: 'Grunddaten', completed: true, data: { type: 'customer-analytics', department: 'Marketing' } },
      { id: 'uc1-step-2', name: 'Datenquellen', completed: true, data: { sources: ['CRM', 'Webshop', 'Newsletter'] } },
      { id: 'uc1-step-3', name: 'KI-Komponenten', completed: true, data: { algorithms: ['Clustering', 'Recommender', 'Churn-Prediction'] } },
      { id: 'uc1-step-4', name: 'Betroffene', completed: true, data: { subjects: ['Kunden', 'Interessenten'] } },
      { id: 'uc1-step-5', name: 'Risikobewertung', completed: true, data: { riskLevel: 'HIGH' } },
    ],
    assessmentResult: {
      riskLevel: 'HIGH',
      applicableRegulations: ['DSGVO', 'AI Act', 'TTDSG'],
      recommendedControls: ['Einwilligungsmanagement', 'Profilbildungstransparenz', 'Opt-out-Mechanismus'],
      dsfaRequired: true,
      aiActClassification: 'LIMITED',
    },
    createdAt: new Date('2026-01-15'),
    updatedAt: new Date('2026-02-01'),
  },
  {
    id: 'demo-uc-2',
    name: 'Automatisierte Bewerbungsvorauswahl',
    description: 'KI-System zur Vorauswahl von Bewerbungen basierend auf Lebenslauf-Analyse, Qualifikationsabgleich und Erfahrungsbewertung. Ziel ist die Effizienzsteigerung im Recruiting-Prozess bei gleichzeitiger Gewährleistung von Fairness.',
    category: 'HR',
    stepsCompleted: 8,
    steps: [
      { id: 'uc2-step-1', name: 'Grunddaten', completed: true, data: { type: 'hr-screening', department: 'Personal' } },
      { id: 'uc2-step-2', name: 'Datenquellen', completed: true, data: { sources: ['Bewerbungsportal', 'LinkedIn', 'XING'] } },
      { id: 'uc2-step-3', name: 'KI-Komponenten', completed: true, data: { algorithms: ['NLP', 'Matching', 'Scoring'] } },
      { id: 'uc2-step-4', name: 'Betroffene', completed: true, data: { subjects: ['Bewerber'] } },
      { id: 'uc2-step-5', name: 'Risikobewertung', completed: true, data: { riskLevel: 'HIGH' } },
    ],
    assessmentResult: {
      riskLevel: 'HIGH',
      applicableRegulations: ['DSGVO', 'AI Act', 'AGG'],
      recommendedControls: ['Bias-Monitoring', 'Human-in-the-Loop', 'Transparenzpflichten'],
      dsfaRequired: true,
      aiActClassification: 'HIGH',
    },
    createdAt: new Date('2026-01-20'),
    updatedAt: new Date('2026-02-02'),
  },
  {
    id: 'demo-uc-3',
    name: 'Chatbot für Kundenservice',
    description: 'Konversationeller KI-Assistent für die automatisierte Beantwortung von Kundenanfragen im First-Level-Support. Basiert auf Large Language Models mit firmeneigenem Wissen.',
    category: 'Kundenservice',
    stepsCompleted: 8,
    steps: [
      { id: 'uc3-step-1', name: 'Grunddaten', completed: true, data: { type: 'chatbot', department: 'Support' } },
      { id: 'uc3-step-2', name: 'Datenquellen', completed: true, data: { sources: ['FAQ', 'Wissensdatenbank', 'Ticketsystem'] } },
      { id: 'uc3-step-3', name: 'KI-Komponenten', completed: true, data: { algorithms: ['LLM', 'RAG', 'Intent-Classification'] } },
      { id: 'uc3-step-4', name: 'Betroffene', completed: true, data: { subjects: ['Kunden', 'Interessenten'] } },
      { id: 'uc3-step-5', name: 'Risikobewertung', completed: true, data: { riskLevel: 'MEDIUM' } },
    ],
    assessmentResult: {
      riskLevel: 'MEDIUM',
      applicableRegulations: ['DSGVO', 'AI Act'],
      recommendedControls: ['KI-Kennzeichnung', 'Übergabe an Menschen', 'Datensparsamkeit'],
      dsfaRequired: false,
      aiActClassification: 'LIMITED',
    },
    createdAt: new Date('2026-01-25'),
    updatedAt: new Date('2026-02-03'),
  },
]

export function getDemoUseCases(): UseCaseAssessment[] {
  return DEMO_USE_CASES.map(uc => ({
    ...uc,
    createdAt: new Date(uc.createdAt),
    updatedAt: new Date(uc.updatedAt),
  }))
}
