Coverage for app/api/v1/status_todo.py: 100%

33 statements  

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

1from fastapi import APIRouter, Depends 

2from sqlalchemy.orm import Session 

3from app.core.database import get_db 

4from app.schemas.status_todo_schema import StatusTodoCreate, StatusTodoOut 

5from app.services import status_todo_service 

6from app.utils.response import success_response 

7 

8router = APIRouter() 

9 

10@router.post("/status-todo") 

11def create_status_todo(status_todo: StatusTodoCreate, db: Session = Depends(get_db)): 

12 result = status_todo_service.create_status_todo_service(db, status_todo) 

13 return success_response(data=StatusTodoOut.model_validate(result).model_dump(), message="OK", status_code=201) 

14 

15@router.get("/status-todo") 

16def get_all_status_todo(db: Session = Depends(get_db)): 

17 status_todos = status_todo_service.get_all_status_todo_service(db) 

18 return success_response(data=[StatusTodoOut.model_validate(t).model_dump() for t in status_todos]) 

19 

20@router.get("/status-todo/{id}") 

21def get_status_todo_by_id(id: int, db: Session = Depends(get_db)): 

22 status_todo = status_todo_service.get_status_todo_by_id_service(db, id) 

23 if not status_todo: 

24 return success_response(message="Not found", status_code=404) 

25 return success_response(data=StatusTodoOut.model_validate(status_todo).model_dump()) 

26 

27@router.put("/status-todo/{id}") 

28def update_status_todo(id: int, data: StatusTodoCreate, db: Session = Depends(get_db)): 

29 result = status_todo_service.update_status_todo_service(db, id, data) 

30 if not result: 

31 return success_response(message="Not found", status_code=404) 

32 return success_response(data=StatusTodoOut.model_validate(result).model_dump(), message="OK") 

33 

34@router.delete("/status-todo/{id}") 

35def delete_status_todo(id: int, db: Session = Depends(get_db)): 

36 success = status_todo_service.delete_status_todo_service(db, id) 

37 if not success: 

38 return success_response(message="Not found", status_code=404) 

39 return success_response(message="Deleted")