From 13ebe9a3b5aa4df134dbc82c2052c73bb14fa465 Mon Sep 17 00:00:00 2001 From: Galindo97 Date: Wed, 20 May 2026 10:56:47 -0500 Subject: [PATCH] feat: remove migration for hub_invite_token from invite_tokens table --- backend/core/security.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/backend/core/security.py b/backend/core/security.py index a27f2ba2..1db3dacc 100644 --- a/backend/core/security.py +++ b/backend/core/security.py @@ -688,7 +688,7 @@ def validate_access_to_resource( current_user: Dict[str, Any], required_permissions: Optional[list[str]] = None, require_all: bool = True, -) -> int: +) -> Optional[int]: """ Valida que el usuario tenga acceso a un recurso específico basado en company_id y regresa el tenant_id. Opcionalmente verifica permisos. @@ -786,4 +786,13 @@ def validate_access_to_resource( if not has_access: raise HTTPException(status_code=403, detail="Permission denied") - return tenant_id or 1 + # Nunca sustituir tenant_id=None/0 silenciosamente — un valor inválido aquí + # significaría acceso al tenant equivocado. Si llegamos aquí sin tenant_id + # válido para un usuario no-admin, es un estado inconsistente que debe fallar. + if not isinstance(tenant_id, int) or tenant_id <= 0: + if not is_keycloak_admin: + raise HTTPException( + status_code=400, + detail="No se pudo determinar el tenant_id para la empresa especificada", + ) + return tenant_id # puede ser None solo para hub_admin sin required_permissions (acceso global)