""" Calibration Sync Router Endpoints for triggering and inspecting the SFM-driven calibration sync. The scheduled job runs daily; this router is what the "Sync now" button in Settings calls, plus a status endpoint for diagnostics. """ from fastapi import APIRouter from typing import Dict, Any from backend.services.calibration_sync import ( sync_all_calibrations, get_calibration_sync_scheduler, ) router = APIRouter(prefix="/api/calibration", tags=["calibration"]) @router.post("/sync") async def trigger_calibration_sync() -> Dict[str, Any]: """Run a full calibration sync now and return the summary.""" summary = await sync_all_calibrations() get_calibration_sync_scheduler().last_run = summary return summary @router.get("/sync/status") def calibration_sync_status() -> Dict[str, Any]: """Return scheduler status and the most recent run's summary.""" return get_calibration_sync_scheduler().status()