Files
workphone-sdk/sdk/app/routers/releases.py

21 lines
820 B
Python

"""总控平台 APK 最新发布接口。"""
from fastapi import APIRouter
from fastapi.responses import JSONResponse
from services.releases import release_service
from services.workbench import ControlPlaneStorageUnavailable, error_body
router = APIRouter(prefix="/releases", tags=["APK发布"])
@router.get("/latest", response_model=dict)
async def get_latest_release():
try:
release = await release_service.latest()
except ControlPlaneStorageUnavailable as exc:
return JSONResponse(status_code=503, content=error_body("control_plane_storage_unavailable", str(exc), retryable=True))
if release is None:
return JSONResponse(status_code=404, content=error_body("release_not_found", "尚未建立稳定版发布数据"))
return {"code": 200, "success": True, "data": release}