Sistema limpio
This commit is contained in:
60
backend/fix_users2.py
Normal file
60
backend/fix_users2.py
Normal file
@@ -0,0 +1,60 @@
|
||||
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")
|
||||
Reference in New Issue
Block a user