Automated Action 62cd6ed746 Implement comprehensive Task Manager API with FastAPI and SQLite
- Add complete CRUD operations for task management
- Implement task filtering by status, priority, and search
- Add task statistics endpoint for summary data
- Configure SQLite database with Alembic migrations
- Set up FastAPI with CORS support and API documentation
- Include health check endpoint and base URL information
- Add comprehensive README with API usage examples
- Structure project with proper separation of concerns
2025-07-02 13:24:05 +00:00

33 lines
1.2 KiB
Python

from pydantic import BaseModel, Field
from datetime import datetime
from typing import Optional
from app.models.task import TaskStatus, TaskPriority
class TaskBase(BaseModel):
title: str = Field(..., min_length=1, max_length=255, description="Task title")
description: Optional[str] = Field(None, description="Task description")
status: TaskStatus = Field(TaskStatus.PENDING, description="Task status")
priority: TaskPriority = Field(TaskPriority.MEDIUM, description="Task priority")
due_date: Optional[datetime] = Field(None, description="Task due date")
class TaskCreate(TaskBase):
pass
class TaskUpdate(BaseModel):
title: Optional[str] = Field(None, min_length=1, max_length=255, description="Task title")
description: Optional[str] = Field(None, description="Task description")
status: Optional[TaskStatus] = Field(None, description="Task status")
priority: Optional[TaskPriority] = Field(None, description="Task priority")
due_date: Optional[datetime] = Field(None, description="Task due date")
class TaskResponse(TaskBase):
id: int
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True