import asyncio
import os
from sqlalchemy.ext.asyncio import create_async_engine
from sqlalchemy import text
from dotenv import load_dotenv

load_dotenv()

# Adatbázis elérés
raw_url = os.getenv("DATABASE_URL")
if not raw_url:
    raw_url = "postgresql://admin:PASSWORD_111@postgres-db:5432/service_finder"
DATABASE_URL = raw_url.replace("postgresql://", "postgresql+asyncpg://").replace("/service_finder_db", "/service_finder")

async def create_user():
    print(f"🔌 Kapcsolódás...")
    engine = create_async_engine(DATABASE_URL)

    async with engine.begin() as conn:
        print("👤 1-es számú felhasználó beszúrása...")
        # Kényszerítjük az ID=1-et, hogy passzoljon a main.py-hoz
        await conn.execute(text("""
            INSERT INTO data.users (id, email, password_hash, role, is_active)
            VALUES (1, 'demo@user.com', 'dummy_hash', 'PRIVATE', TRUE)
            ON CONFLICT (id) DO NOTHING;
        """))
        
        # Frissítjük a számlálót, hogy a következő user ID 2 legyen (ne akadjon össze)
        await conn.execute(text("SELECT setval('data.users_id_seq', (SELECT MAX(id) FROM data.users));"))

    print("✅ KÉSZ! A Demo User (ID: 1) létezik.")
    await engine.dispose()

if __name__ == "__main__":
    asyncio.run(create_user())
