from pydantic import BaseModel from typing import Optional, List class GameStartRequest(BaseModel): lang: Optional[str] = "de" difficulty: Optional[str] = "all" class GameStartResponse(BaseModel): session_id: str question_number: int total_questions: int category: str question: str score: int attempts_used: int max_attempts: int = 3 difficulty: Optional[str] = "medium" lang: Optional[str] = "de" class GameCheckRequest(BaseModel): session_id: str answer: str class GameCheckResponse(BaseModel): correct: bool score: int attempts_used: int attempts_left: int max_attempts: int = 3 is_finished: bool revealed_answer: Optional[str] = None next_question: Optional[dict] = None class SuggestionCreateRequest(BaseModel): frage: str antwort: str tipp: Optional[str] = None name: Optional[str] = "Gast" question_type: Optional[str] = "text" falsche_antworten: Optional[List[str]] = None difficulty: Optional[str] = "medium" class QuestionAdminCreate(BaseModel): category: str = "harry_potter" question: str canonical_answer: str accepted_answers: Optional[str] = None hint: Optional[str] = None status: str = "active" sort_order: int = 0