Files
service_manager/backend/fix_users4.py
2026-03-10 13:46:30 -06:00

39 lines
1.3 KiB
Python

with open("/app/app/api/v1/endpoints/users.py", "r") as f:
lines = f.readlines()
admin_check = [
" # Buscar usuario - ADMIN global puede editar cualquier tenant\n",
" if current_user.role.value == \"ADMIN\":\n",
" query = select(User).where(User.id == user_id)\n",
" else:\n",
" query = select(User).where(\n",
" User.id == user_id,\n",
" User.tenant_id == current_user.tenant_id\n",
" )\n",
]
# Reemplazar bloques en lineas 198, 305, 382 (0-indexed: 197, 304, 381)
replaced = 0
new_lines = lines[:]
i = 0
while i < len(new_lines):
if (new_lines[i].strip() == "# Buscar usuario" and
i+1 < len(new_lines) and "select(User).where(" in new_lines[i+1] and
i+2 < len(new_lines) and "User.id == user_id," in new_lines[i+2] and
i+3 < len(new_lines) and "User.tenant_id == current_user.tenant_id" in new_lines[i+3]):
indent = " "
new_block = admin_check[:]
# Remove old 4 lines of query block (comment + query 4 lines)
new_lines[i:i+5] = new_block
replaced += 1
i += len(new_block)
else:
i += 1
print(f"Reemplazos realizados: {replaced}")
with open("/app/app/api/v1/endpoints/users.py", "w") as f:
f.writelines(new_lines)
print("Listo")