Coverage for app/repository/todo_repo.py: 100%
21 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-18 02:28 +0000
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-18 02:28 +0000
1from sqlalchemy.orm import Session
2from app.models.todo_model import Todo
4def create_todo(db: Session, name: str, description: str | None):
5 todo = Todo(name=name, description=description)
6 db.add(todo)
7 db.commit()
8 db.refresh(todo)
9 return todo
11def get_all_todos(db: Session):
12 return db.query(Todo).all()
14def get_todo_by_id(db: Session, todo_id: int):
15 return db.query(Todo).filter(Todo.id == todo_id).first()
17def update_todo(db: Session, todo: Todo, name: str, description: str | None):
18 todo.name = name
19 todo.description = description
20 db.commit()
21 db.refresh(todo)
22 return todo
24def delete_todo(db: Session, todo: Todo):
25 db.delete(todo)
26 db.commit()