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")