Se agregaron los moduloes de api_v2

This commit is contained in:
2025-10-03 23:16:47 -06:00
parent ac075bfeb7
commit 7149515606
60 changed files with 3714 additions and 252 deletions

View File

@@ -1,42 +1,43 @@
from fastapi import APIRouter, HTTPException
from fastapi import APIRouter, HTTPException, Depends
from fastapi.responses import JSONResponse
from typing import Dict, Any, List, Optional
import asyncio
import logging
import traceback
from api.api_v2.modules.authentication.services import get_current_user
from .schemas import AcuseSchema, AcuseMasivoSchema
from .services import *
from .tasks import process_acuse_request
router = APIRouter()
router = APIRouter(prefix="/acuses", tags=["Acuses"])
@router.post("/service/acuse/individual", response_model=Dict[str, Any])
@router.post("/services/acuse/", response_model=Dict[str, Any])
async def obtener_acuse(acuse_request: AcuseSchema):
"""
Endpoint para obtener el acuse de recibo de un documento específico.
"""
acuse_dict = acuse_request.model_dump()
# Ejecuta la tarea de Celery de forma asíncrona
task = process_acuse_request.delay(acuse_dict)
# Puedes devolver el ID de la tarea para consultar el estado después
return {"task_id": task.id, "status": "submitted"}
pass
@router.post("/service/acuse", response_model=Dict[str, Any])
@router.post("/services/all/acuse/pedimento/", response_model=Dict[str, Any])
async def obtener_acuses(acuse_request: AcuseMasivoSchema):
"""
Endpoint para obtener acuses de recibo de documentos asociados a un pedimento.
"""
pass
# Para cada edoc en la lista, dispara una tarea Celery
task_ids = []
acuse_request_dict = acuse_request.model_dump()
for edoc in acuse_request_dict.get('edocs', []):
acuse_dict = {
"edoc": edoc,
"pedimento": acuse_request_dict.get('pedimento'),
"credencial": acuse_request_dict.get('credencial')
}
task = process_acuse_request.delay(acuse_dict)
task_ids.append(task.id)
@router.post("/service/acuse_cove", response_model=Dict[str, Any])
async def obtener_acuses_cove(acuse_request: AcuseMasivoSchema):
"""
Endpoint para obtener acuses de recibo de COVEs asociados a un pedimento.
"""
pass
@router.post("/service/acuse_cove/individual", response_model=Dict[str, Any])
async def obtener_acuse_cove(acuse_request: AcuseSchema):
"""
Endpoint para obtener el acuse de recibo de un COVE específico.
"""
pass
return {"task_ids": task_ids, "status": "submitted", "total": len(task_ids)}