feat(envios/erp): add manual sync trigger endpoint and test UI
- POST /envios/erp/sync-now?ventana_min=N calls sync_recientes with configurable window - sync_recientes() now returns a result dict (ok, total, created, updated, skipped, errores, detalle) - ERP tab shows a "Prueba manual" card with ventana selector (2m / 30m / 2h / hoy) and result breakdown Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
8e27225326
commit
dc18d128fb
+12
-1
@@ -1,6 +1,8 @@
|
||||
from fastapi import APIRouter, Request, Depends
|
||||
from fastapi import APIRouter, Request, Depends, Query
|
||||
from fastapi.responses import JSONResponse
|
||||
from app.auth import get_current_user
|
||||
from app.database import get_connection
|
||||
from app.services.scheduler import sync_recientes
|
||||
|
||||
router = APIRouter(prefix="/envios", tags=["envios"])
|
||||
|
||||
@@ -24,3 +26,12 @@ async def envios_erp(request: Request, user: dict = Depends(get_current_user)):
|
||||
"wa_configurado": bool(wa_url and wa_key),
|
||||
"wa_url": wa_url,
|
||||
})
|
||||
|
||||
|
||||
@router.post("/erp/sync-now")
|
||||
async def erp_sync_now(
|
||||
ventana_min: int = Query(default=30, ge=1, le=1440),
|
||||
user: dict = Depends(get_current_user),
|
||||
):
|
||||
resultado = await sync_recientes(ventana_min=ventana_min)
|
||||
return JSONResponse(resultado)
|
||||
|
||||
Reference in New Issue
Block a user