from typing import Optional from pydantic import BaseModel from datetime import datetime from .base import PyObjectId from .question_item_entity import QuestionItemEntity class QuizEntity(BaseModel): _id: Optional[PyObjectId] = None author_id: Optional[str] = None title: str description: Optional[str] = None is_public: bool = False date: Optional[datetime] = None total_quiz: Optional[int] = 0 limit_duration: Optional[int] = 0 question_listings: Optional[list[QuestionItemEntity]] = [] class Config: arbitrary_types_allowed = True json_encoders = {PyObjectId: str}