56 lines
2.2 KiB
Python
56 lines
2.2 KiB
Python
#!/usr/bin/env python3
|
|
import asyncio
|
|
import sys
|
|
import os
|
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
from sqlalchemy import text
|
|
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
|
from sqlalchemy.orm import sessionmaker
|
|
from app.core.config import settings
|
|
|
|
async def find_test_user():
|
|
engine = create_async_engine(settings.DATABASE_URL, echo=False)
|
|
async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)
|
|
|
|
async with async_session() as session:
|
|
# Find user with email tester_pro@profibot.hu
|
|
query = text("""
|
|
SELECT u.user_id, u.email, p.person_id, p.first_name, p.last_name
|
|
FROM identity.users u
|
|
JOIN identity.persons p ON u.person_id = p.person_id
|
|
WHERE u.email = 'tester_pro@profibot.hu'
|
|
""")
|
|
result = await session.execute(query)
|
|
user = result.fetchone()
|
|
if user:
|
|
print(f"Test user found: user_id={user[0]}, email={user[1]}, person_id={user[2]}, name={user[3]} {user[4]}")
|
|
else:
|
|
print("Test user not found")
|
|
|
|
# Count vehicles owned by this person
|
|
if user:
|
|
query2 = text("""
|
|
SELECT COUNT(*) FROM vehicle.assets
|
|
WHERE owner_person_id = :person_id
|
|
""")
|
|
result2 = await session.execute(query2, {"person_id": user[2]})
|
|
count = result2.scalar()
|
|
print(f"Vehicles owned by this person: {count}")
|
|
|
|
# Count draft vehicles
|
|
query3 = text("SELECT COUNT(*) FROM vehicle.assets WHERE status = 'draft'")
|
|
result3 = await session.execute(query3)
|
|
draft_count = result3.scalar()
|
|
print(f"Draft vehicles: {draft_count}")
|
|
|
|
# Count vehicles with license plate starting with TEST
|
|
query4 = text("SELECT COUNT(*) FROM vehicle.assets WHERE license_plate LIKE 'TEST%'")
|
|
result4 = await session.execute(query4)
|
|
test_plate_count = result4.scalar()
|
|
print(f"Vehicles with TEST license plate: {test_plate_count}")
|
|
|
|
await engine.dispose()
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(find_test_user()) |