Automated Action 091c42482c Add todo categories and due dates with filtering capabilities
- Added category field to Todo model for organizing todos
- Added due_date field with timezone support for deadline tracking
- Enhanced CRUD operations with filtering by category, completion status, and overdue items
- Added new API endpoints for category-based and overdue todo retrieval
- Updated API documentation with new filtering query parameters
- Created database migration for new fields with proper indexing
- Updated README with comprehensive feature documentation
2025-06-17 05:51:35 +00:00

42 lines
836 B
Python

from datetime import datetime
from typing import Optional
from pydantic import BaseModel
class TodoBase(BaseModel):
"""Base schema for Todo."""
title: str
description: Optional[str] = None
completed: bool = False
category: Optional[str] = None
due_date: Optional[datetime] = None
class TodoCreate(TodoBase):
"""Schema for creating a Todo."""
pass
class TodoUpdate(BaseModel):
"""Schema for updating a Todo."""
title: Optional[str] = None
description: Optional[str] = None
completed: Optional[bool] = None
category: Optional[str] = None
due_date: Optional[datetime] = None
class TodoResponse(TodoBase):
"""Schema for Todo response."""
id: int
created_at: datetime
updated_at: Optional[datetime] = None
class Config:
from_attributes = True