Automated Action 34f86c8479 Add task completion tracking with timestamps
- Added completion_date field to Todo model
- Modified CRUD to auto-set completion_date when task is marked complete
- Added completion date stats (last 24h, last week metrics)
- Created Alembic migration for the new field
- Updated API documentation and README

generated with BackendIM... (backend.im)
2025-05-13 04:07:40 +00:00

41 lines
1.0 KiB
Python

from pydantic import BaseModel, Field
from datetime import datetime
from typing import Optional, Literal
from enum import Enum
class PriorityEnum(str, Enum):
LOW = "low"
MEDIUM = "medium"
HIGH = "high"
class TodoBase(BaseModel):
title: str
description: Optional[str] = None
completed: bool = False
category: Optional[str] = None
priority: Optional[PriorityEnum] = PriorityEnum.MEDIUM
due_date: Optional[datetime] = None
class TodoCreate(TodoBase):
pass
class TodoUpdate(BaseModel):
title: Optional[str] = None
description: Optional[str] = None
completed: Optional[bool] = None
category: Optional[str] = None
priority: Optional[PriorityEnum] = None
due_date: Optional[datetime] = None
completion_date: Optional[datetime] = None
class TodoInDB(TodoBase):
id: int
completion_date: Optional[datetime] = None
created_at: datetime
updated_at: Optional[datetime] = None
class Config:
from_attributes = True
class Todo(TodoInDB):
pass