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
« 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
8router = APIRouter()
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)
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])
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())
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")
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")