from fastapi import APIRouter, BackgroundTasks, status, HTTPException from fastapi.responses import JSONResponse from .schemas import PedimentoCompletoRequestSchema from .tasks import process_pedimento_completo_request from api.api_v2.modules.tasks.services import register_task 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) return { "status": "submitted", "detail": "La solicitud de descarga del pedimento completo ha sido enviada.", "task_id": task.id }