from pydantic import BaseModel, ConfigDict from datetime import datetime, date from typing import Optional, List from app.schemas.project_task import ProjectTaskResponse class ProjectCreate(BaseModel): name: str description: Optional[str] = None status: str = "not_started" color: Optional[str] = None due_date: Optional[date] = None class ProjectUpdate(BaseModel): name: Optional[str] = None description: Optional[str] = None status: Optional[str] = None color: Optional[str] = None due_date: Optional[date] = None class ProjectResponse(BaseModel): id: int name: str description: Optional[str] status: str color: Optional[str] due_date: Optional[date] created_at: datetime updated_at: datetime tasks: List[ProjectTaskResponse] = [] model_config = ConfigDict(from_attributes=True)