import asyncio
from datetime import datetime
from sqlalchemy import select
from app.db.session import SessionLocal
from app.models.legal import LegalDocument
from app.models.email_template import EmailTemplate, EmailType
from app.models.email_provider import EmailProviderConfig

async def seed_data():
    async with SessionLocal() as db:
        # 1. Jogi dokumentumok (HU)
        legal_docs = [
            LegalDocument(
                title="Általános Szerződési Feltételek",
                content="Ide jön az ÁSZF szövege... Kérjük görgessen az aljáig.",
                version="v1.0",
                region_code="HU",
                language="hu"
            ),
            LegalDocument(
                title="Adatkezelési Tájékoztató (GDPR)",
                content="Ide jön a GDPR szövege... Kérjük görgessen az aljáig.",
                version="v1.0",
                region_code="HU",
                language="hu"
            )
        ]
        
        # 2. Email Sablon (Regisztráció)
        reg_template = EmailTemplate(
            type=EmailType.REGISTRATION,
            subject="Üdvözöljük a Service Finderben!",
            body_html="""
                <h3>Kedves {{ name }}!</h3>
                <p>Köszönjük a regisztrációt! Az aktiváláshoz kattints ide:</p>
                <a href="{{ link }}">Fiók aktiválása</a>
                <p>A link 24 óráig érvényes.</p>
            """
        )

        # 3. Email Szolgáltató (SendGrid)
        sendgrid_provider = EmailProviderConfig(
            name="SendGrid_Primary",
            provider_type="SENDGRID",
            priority=1,
            settings={"api_key": "YOUR_SENDGRID_KEY_HERE"}, # Ezt majd az adminon írjuk át
            max_fail_threshold=3
        )

        db.add_all(legal_docs)
        db.add(reg_template)
        db.add(sendgrid_provider)
        
        await db.commit()
        print("🌱 Alapadatok sikeresen feltöltve!")

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