from typing import List, Optional
from datetime import datetime
from pydantic import BaseModel
from app.schemas.quiz import QuestionWithAnswerResponse


class StudyPlanItemResponse(BaseModel):
    id: int
    question_id: int
    topic_id: str
    sub_topic: str
    status: str
    source: str
    created_at: datetime
    question: Optional[QuestionWithAnswerResponse] = None

    class Config:
        from_attributes = True


class StudyPlanAddRequest(BaseModel):
    question_id: int


class StudyPlanBulkRequest(BaseModel):
    question_ids: List[int]
    topic_id: str


class StudyPlanItemStatusUpdate(BaseModel):
    status: str
