41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
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,
|
|
},
|
|
)
|