from fastapi import APIRouter, BackgroundTasks, status, HTTPException from fastapi.responses import JSONResponse from .schemas import PedimentoCompletoRequestSchema from .tasks import process_pedimento_completo_request import logging logger = logging.getLogger("app.api") router = APIRouter() @router.post("/services/pedimento_completo", status_code=status.HTTP_202_ACCEPTED) async def download_pedimento_completo(Pedimento: PedimentoCompletoRequestSchema): """ Endpoint para iniciar la descarga completa de un pedimento. """ pedimento_dict = Pedimento.model_dump() # Ejecuta la tarea de Celery de forma asíncrona task = process_pedimento_completo_request.delay(pedimento_dict) # Puedes devolver el ID de la tarea para consultar el estado después return {"status": "submitted", "detail": "La solicitud de descarga del pedimento completo ha sido enviada.", "task_id": task.id}