import os
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail
from fastapi import BackgroundTasks

SENDGRID_API_KEY = os.getenv("SENDGRID_API_KEY")
FROM_EMAIL = os.getenv("FROM_EMAIL")

async def send_email_async(subject: str, to_email: str, content: str):
    message = Mail(
        from_email=FROM_EMAIL,
        to_emails=to_email,
        subject=subject,
        plain_text_content=content
    )
    try:
        sg = SendGridAPIClient(SENDGRID_API_KEY)
        sg.send(message)
    except Exception as e:
        print(f"--- EMAIL ERROR: {e}")

def send_verification_email(background_tasks: BackgroundTasks, email: str, token: str):
    subject = "Service Finder - Fiók aktiválása"
    # Itt a valós domain nevedet kell használnod
    verify_url = f"http://192.168.100.43:8000/api/v1/auth/verify/{token}"
    content = f"Kérjük, kattints az alábbi linkre a regisztrációd véglegesítéséhez: {verify_url}"
    background_tasks.add_task(send_email_async, subject, email, content)

def send_expiry_notification(background_tasks: BackgroundTasks, email: str, doc_name: str):
    subject = f"FIGYELEM: {doc_name} hamarosan lejár!"
    content = f"Tisztelt Felhasználó! Értesítjük, hogy a(z) {doc_name} dokumentuma 30 napon belül lejár."
    background_tasks.add_task(send_email_async, subject, email, content)
    