from fastapi import APIRouter, HTTPException
from pydantic import BaseModel, EmailStr

from email_service import send_email


router = APIRouter(
    prefix="/email",
    tags=["Email"]
)


class EmailRequest(BaseModel):
    to_email: EmailStr
    subject: str
    body: str


@router.post("/send")
def send_email_api(data: EmailRequest):

    try:

        send_email(
            to_email=data.to_email,
            subject=data.subject,
            body=data.body
        )

        return {
            "status": "success",
            "message": "Email sent successfully"
        }

    except Exception as e:

        print("EMAIL ERROR:", str(e))

        raise HTTPException(
            status_code=500,
            detail=str(e)
        )