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

1from sqlalchemy.orm import Session 

2from app.models.todo_model import Todo 

3 

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 

10 

11def get_all_todos(db: Session): 

12 return db.query(Todo).all() 

13 

14def get_todo_by_id(db: Session, todo_id: int): 

15 return db.query(Todo).filter(Todo.id == todo_id).first() 

16 

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 

23 

24def delete_todo(db: Session, todo: Todo): 

25 db.delete(todo) 

26 db.commit()