from typing import List, Optional
from pydantic import BaseModel
from datetime import datetime

class QuizHistoryBase(BaseModel):
    quiz_id: str
    passed_questions: List[int]
    failed_questions: List[int]

class QuizHistoryCreate(QuizHistoryBase):
    pass

class QuizHistoryResponse(QuizHistoryBase):
    id: int
    user_id: int
    score: int
    created_at: datetime
    updated_at: datetime
    completion_percentage: Optional[int] = None

    class Config:
        from_attributes = True
