with open("/app/app/api/v1/endpoints/users.py", "r") as f: content = f.read() from app.models.user import UserRole as _UserRole # Reemplazar el patron comun de query con filtro de tenant # por una version que permite a ADMIN ver todos los tenants old_get_user = """ query = select(User).where( User.id == user_id, User.tenant_id == current_user.tenant_id ) result = await db.execute(query) user = result.scalar_one_or_none() if not user:""" new_get_user = """ if current_user.role.value == "ADMIN": query = select(User).where(User.id == user_id) else: query = select(User).where( User.id == user_id, User.tenant_id == current_user.tenant_id ) result = await db.execute(query) user = result.scalar_one_or_none() if not user:""" old_update_user = """ query = select(User).where( User.id == user_id, User.tenant_id == current_user.tenant_id ) result = await db.execute(query) db_user = result.scalar_one_or_none() if not db_user:""" new_update_user = """ if current_user.role.value == "ADMIN": query = select(User).where(User.id == user_id) else: query = select(User).where( User.id == user_id, User.tenant_id == current_user.tenant_id ) result = await db.execute(query) db_user = result.scalar_one_or_none() if not db_user:""" count = 0 for old, new in [(old_get_user, new_get_user), (old_update_user, new_update_user)]: occurrences = content.count(old) if occurrences > 0: content = content.replace(old, new) count += occurrences print(f"OK: {occurrences} ocurrencia(s) reemplazada(s)") else: print(f"SKIP: bloque no encontrado") with open("/app/app/api/v1/endpoints/users.py", "w") as f: f.write(content) print(f"Total: {count} reemplazos aplicados")