import asyncio
import json
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
from sqlalchemy.orm import sessionmaker
from app.models.system_config import SystemParameter
from app.core.config import settings

async def seed_system():
    engine = create_async_engine(settings.DATABASE_URL)
    async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False)

    async with async_session() as session:
        params = [
            {
                "key": "fuel_types",
                "value": ["Benzin (95)", "Benzin (100)", "Dízel", "Prémium Dízel", "LPG", "Elektromos", "Hibrid"],
                "description": "Rendszerben használható üzemanyag típusok"
            },
            {
                "key": "currencies",
                "value": ["HUF", "EUR", "USD", "GBP"],
                "description": "Támogatott pénznemek"
            },
            {
                "key": "expense_categories",
                "value": ["Üzemanyag", "Szerviz", "Biztosítás", "Autópálya matrica", "Parkolás", "Adó", "Egyéb"],
                "description": "Költség kategóriák"
            }
        ]

        for p in params:
            # Megnézzük, létezik-e már
            from sqlalchemy import select
            result = await session.execute(select(SystemParameter).where(SystemParameter.key == p["key"]))
            if not result.scalar_one_or_none():
                new_param = SystemParameter(**p)
                session.add(new_param)
        
        await session.commit()
        print("✅ Rendszer paraméterek sikeresen feltöltve!")

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