
- Add parent_id field to Todo model with self-referential foreign key - Add parent/children relationships and is_subtask property - Update TodoCreate/TodoUpdate schemas to include parent_id - Add subtasks list to Todo schema and create SubtaskCreate schema - Enhance get_todos CRUD function with parent_id filtering - Add subtask-specific CRUD functions: get_subtasks, create_subtask, move_subtask - Add API endpoints for subtask management - Create migration for adding parent_id column - Update imports and fix circular dependencies - Ensure proper cycle prevention and validation Features added: - GET /todos/{todo_id}/subtasks - Get all subtasks for a todo - POST /todos/{todo_id}/subtasks - Create a new subtask - PUT /subtasks/{subtask_id}/move - Move subtask or convert to main todo - Query parameter parent_id for filtering by parent - Query parameter include_subtasks for excluding subtasks from main list
30 lines
634 B
Python
30 lines
634 B
Python
from .todo import Todo, TodoCreate, TodoUpdate, TodoListResponse
|
|
from .category import Category, CategoryCreate, CategoryUpdate
|
|
from .tag import Tag, TagCreate, TagUpdate, TagListResponse
|
|
from .project import (
|
|
Project,
|
|
ProjectCreate,
|
|
ProjectUpdate,
|
|
ProjectListResponse,
|
|
ProjectWithTodos,
|
|
)
|
|
|
|
__all__ = [
|
|
"Todo",
|
|
"TodoCreate",
|
|
"TodoUpdate",
|
|
"TodoListResponse",
|
|
"Category",
|
|
"CategoryCreate",
|
|
"CategoryUpdate",
|
|
"Tag",
|
|
"TagCreate",
|
|
"TagUpdate",
|
|
"TagListResponse",
|
|
"Project",
|
|
"ProjectCreate",
|
|
"ProjectUpdate",
|
|
"ProjectListResponse",
|
|
"ProjectWithTodos",
|
|
]
|