34 lines
822 B
Python

from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel
class TaskBase(BaseModel):
title: str
description: Optional[str] = None
status: Optional[str] = "pending"
priority: Optional[str] = "medium"
due_date: Optional[datetime] = None
completed: Optional[bool] = False
class TaskCreate(TaskBase):
pass
class TaskUpdate(BaseModel):
title: Optional[str] = None
description: Optional[str] = None
status: Optional[str] = None
priority: Optional[str] = None
due_date: Optional[datetime] = None
completed: Optional[bool] = None
class TaskResponse(TaskBase):
id: int
created_at: datetime
updated_at: datetime
class Config:
orm_mode = True
class TaskList(BaseModel):
tasks: List[TaskResponse]
total: int