from pydantic import BaseModel, Field from typing import Optional, List from datetime import date, datetime from app.schemas.task import Task class ScheduleBase(BaseModel): title: str = Field(..., max_length=255) date: date description: Optional[str] = None class ScheduleCreate(ScheduleBase): pass class ScheduleUpdate(BaseModel): title: Optional[str] = Field(None, max_length=255) date: Optional[date] = None description: Optional[str] = None class ScheduleInDB(ScheduleBase): id: str user_id: str created_at: datetime updated_at: datetime class Config: from_attributes = True class Schedule(ScheduleInDB): tasks: List[Task] = []