from pydantic import BaseModel from typing import Optional from datetime import datetime from app.models.task import TaskStatus, TaskPriority class TaskBase(BaseModel): title: str description: Optional[str] = None status: TaskStatus = TaskStatus.PENDING priority: TaskPriority = TaskPriority.MEDIUM due_date: Optional[datetime] = None class TaskCreate(TaskBase): pass class TaskUpdate(BaseModel): title: Optional[str] = None description: Optional[str] = None status: Optional[TaskStatus] = None priority: Optional[TaskPriority] = None due_date: Optional[datetime] = None is_completed: Optional[bool] = None class Task(TaskBase): id: int is_completed: bool created_at: datetime updated_at: Optional[datetime] = None owner_id: int class Config: from_attributes = True