Files
microservice/api/api_v2/modules/pedimentos/routers.py

25 lines
931 B
Python

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
}