22 lines
834 B
Python
22 lines
834 B
Python
from fastapi import APIRouter, BackgroundTasks, status, HTTPException
|
|
from fastapi.responses import JSONResponse
|
|
from .schemas import RemesaBaseSchema
|
|
from .tasks import process_remesa_request
|
|
import logging
|
|
logger = logging.getLogger("app.api")
|
|
|
|
router = APIRouter()
|
|
|
|
@router.post("/services/remesas/", status_code=status.HTTP_202_ACCEPTED)
|
|
async def download_remesa(remesa_request: RemesaBaseSchema):
|
|
"""
|
|
Endpoint para iniciar la descarga completa de un pedimento.
|
|
"""
|
|
remesa_dict = remesa_request.model_dump()
|
|
|
|
|
|
# Ejecuta la tarea de Celery de forma asíncrona
|
|
task = process_remesa_request.delay(remesa_dict)
|
|
# Puedes devolver el ID de la tarea para consultar el estado después
|
|
return {"status": "submitted", "detail": "La solicitud de descarga de la remesa ha sido enviada.", "task_id": task.id}
|