from typing import List, Optional from sqlalchemy.orm import Session from app.crud.base import CRUDBase from app.models.todo import Todo from app.schemas.todo import TodoCreate, TodoUpdate class CRUDTodo(CRUDBase[Todo, TodoCreate, TodoUpdate]): """CRUD operations for Todo.""" def get_multi_by_completed( self, db: Session, *, is_completed: bool, skip: int = 0, limit: int = 100 ) -> List[Todo]: """Get todos by completion status.""" return ( db.query(self.model) .filter(Todo.is_completed == is_completed) .offset(skip) .limit(limit) .all() ) todo = CRUDTodo(Todo)