Files
GeorgeandClaude Sonnet 5 ab3c613165 Initial commit: mini-erp (backend FastAPI + frontend React/Vite)
Base para el flujo de ramas por cliente.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-17 10:34:12 -05:00

40 lines
1.4 KiB
Python

from contextvars import ContextVar
# Variable de contexto única por cada Request de FastAPI
request_id_ctx: ContextVar[str] = ContextVar("request_id", default="-")
# Variable de contexto para el empleado conectado que originó la petición
current_user_ctx: ContextVar[dict] = ContextVar(
"current_user", default={"webUser": "-", "emp_id": "-", "full_name": "-"}
)
# ============================================================================
def get_request_id() -> str:
"""
Obtiene el ID de la petición del contexto actual.
"""
return request_id_ctx.get()
# ============================================================================
def set_request_id(request_id: str):
"""
Establece el ID de la petición en el contexto actual.
"""
request_id_ctx.set(request_id)
# ============================================================================
def get_current_user() -> dict:
"""
Obtiene el empleado conectado del contexto actual.
"""
return current_user_ctx.get()
# ============================================================================
def set_current_user(webUser: str, full_name: str = "", emp_id="-"):
"""
Establece el empleado conectado en el contexto actual.
"""
current_user_ctx.set({"webUser": webUser, "emp_id": emp_id, "full_name": full_name})
# ============================================================================