Coverage for app/services/todo_service.py: 100%

20 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-07-18 02:28 +0000

1from sqlalchemy.orm import Session 

2from app.repository import todo_repo 

3from app.schemas.todo_schema import TodoCreate 

4 

5def create_todo_service(db: Session, todo_in: TodoCreate): 

6 return todo_repo.create_todo(db, todo_in.name, todo_in.description) 

7 

8def get_all_todos_service(db: Session): 

9 return todo_repo.get_all_todos(db) 

10 

11def get_todo_by_id_service(db: Session, todo_id: int): 

12 return todo_repo.get_todo_by_id(db, todo_id) 

13 

14def update_todo_service(db: Session, todo_id: int, data: TodoCreate): 

15 todo = todo_repo.get_todo_by_id(db, todo_id) 

16 if not todo: 

17 return None 

18 return todo_repo.update_todo(db, todo, data.name, data.description) 

19 

20def delete_todo_service(db: Session, todo_id: int): 

21 todo = todo_repo.get_todo_by_id(db, todo_id) 

22 if not todo: 

23 return False 

24 todo_repo.delete_todo(db, todo) 

25 return True