32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
"""Script para listar todos los usuarios"""
|
|
import asyncio
|
|
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
|
from sqlalchemy.orm import sessionmaker
|
|
from sqlalchemy import select
|
|
from app.models.user import User
|
|
import os
|
|
|
|
async def list_users():
|
|
database_url = os.getenv('DATABASE_URL', 'postgresql+asyncpg://postgres:postgres@db:5432/servicemanager')
|
|
engine = create_async_engine(database_url)
|
|
async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
|
|
|
|
async with async_session() as session:
|
|
result = await session.execute(select(User))
|
|
users = result.scalars().all()
|
|
|
|
if users:
|
|
print(f'Found {len(users)} users:')
|
|
for user in users:
|
|
print(f'\n Email: {user.email}')
|
|
print(f' Role: {user.role}')
|
|
print(f' Tenant ID: {user.tenant_id}')
|
|
print(f' User ID: {user.id}')
|
|
else:
|
|
print('No users found')
|
|
|
|
await engine.dispose()
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(list_users())
|