from fastapi import APIRouter from app.schemas.common import ApiResponse from app.services.detect_service import get_detect_status from app.services.worker_control_service import start_worker, stop_worker router = APIRouter(tags=["detect"]) @router.get("/detect/status", response_model=ApiResponse) def detect_status() -> ApiResponse: return ApiResponse(data=get_detect_status()) @router.post("/detect/start", response_model=ApiResponse) def start_detect() -> ApiResponse: ok, message = start_worker() return ApiResponse( code=0 if ok else 1, message=message, data={ "action": "start", "poll_after_seconds": 2, "refresh_status": True, }, ) @router.post("/detect/stop", response_model=ApiResponse) def stop_detect() -> ApiResponse: ok, message = stop_worker() return ApiResponse( code=0 if ok else 1, message=message, data={ "action": "stop", "poll_after_seconds": 2, "refresh_status": True, }, )