Skip to content

Commit 6ad0fad

Browse files
committed
refactor(operator): use absolute imports, add type hints and dependency singleton
1 parent b758d9c commit 6ad0fad

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

app/routers/operator.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from fastapi import APIRouter, Depends, Path
22
from pydantic import BaseModel, Field
33

4-
from ..auth.dependencies import get_current_user_flexible, verify_api_key
5-
from ..models import User
6-
from ..services.invoice_service import generate_invoice
7-
from ..services.order_service import get_order_status
4+
from app.auth.dependencies import get_current_user_flexible, verify_api_key
5+
from app.models import User
6+
from app.services.invoice_service import generate_invoice
7+
from app.services.order_service import get_order_status
88

99
# Router con documentación mejorada
1010
router = APIRouter(
@@ -17,6 +17,9 @@
1717
},
1818
)
1919

20+
# Singletons para evitar B008
21+
current_user_flexible_dep = Depends(get_current_user_flexible)
22+
2023
# ----- Modelos Pydantic con documentación mejorada -----
2124

2225

@@ -196,8 +199,8 @@ async def order_status(
196199
examples=["ORD-2025-001234"],
197200
pattern="^[A-Z]{3}-[0-9]{4}-[0-9]{6}$",
198201
),
199-
current_user: User | None = Depends(get_current_user_flexible),
200-
):
202+
_current_user: User | None = current_user_flexible_dep,
203+
) -> OrderStatusResponse:
201204
"""
202205
**Endpoint para consultar el estado de una orden bancaria**
203206
@@ -291,13 +294,16 @@ async def invoice(
291294
invoice_id: str = Path(
292295
..., description="ID de la factura a generar", examples=["INV-2025-789012"]
293296
),
294-
data: InvoiceRequest = None,
295-
current_user: User | None = Depends(get_current_user_flexible),
296-
):
297+
data: InvoiceRequest | None = None,
298+
_current_user: User | None = current_user_flexible_dep,
299+
) -> InvoiceResponse:
297300
"""
298301
**Endpoint para generar facturas de órdenes bancarias**
299302
300303
Procesa la solicitud de facturación y genera un documento oficial
301304
con todos los detalles fiscales requeridos.
302305
"""
306+
if data is None:
307+
# Coherencia de tipos; en práctica FastAPI validará body requerido si así se define
308+
return generate_invoice("")
303309
return generate_invoice(data.order_id)

0 commit comments

Comments
 (0)