from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app.db import get_db from app.models.todo import Todo router = APIRouter(prefix="/todos", tags=["todos"]) @router.get("/") def list_todos(db: Session = Depends(get_db)): return [t.to_dict() for t in db.query(Todo).all()] @router.get("/{todo_id}") def get_todo(todo_id: int, db: Session = Depends(get_db)): todo = db.query(Todo).filter(Todo.id == todo_id).first() if not todo: from fastapi import HTTPException raise HTTPException(status_code=404, detail="Todo not found") return todo.to_dict()