26 lines
676 B
Python
26 lines
676 B
Python
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)
|