from pydantic import BaseModel, Field from typing import Optional from datetime import datetime class TaskStatusBase(BaseModel): name: str = Field(..., min_length=1, max_length=100) color: str = Field("#808080", max_length=20) position: int = Field(0, ge=0) is_done: bool = False class TaskStatusCreate(TaskStatusBase): pass class TaskStatusUpdate(BaseModel): name: Optional[str] = Field(None, min_length=1, max_length=100) color: Optional[str] = Field(None, max_length=20) position: Optional[int] = Field(None, ge=0) is_done: Optional[bool] = None class TaskStatusResponse(TaskStatusBase): id: str project_id: str created_at: datetime class Config: from_attributes = True