from fastapi import APIRouter, Depends, HTTPException from pydantic import BaseModel, EmailStr from ...services.email_service import email_service from ...api.dependencies import get_admin_user from ...models.models import User router = APIRouter() class TestEmailRequest(BaseModel): to_email: EmailStr subject: str message: str class WelcomeEmailRequest(BaseModel): to_email: EmailStr first_name: str @router.post("/test-email") async def send_test_email( request: TestEmailRequest, current_user: User = Depends(get_admin_user) ): """Send a test email (admin only)""" html_body = f"
{request.message}
" result = await email_service.send_email( to_email=request.to_email, subject=request.subject, html_body=html_body, text_body=request.message ) return {"success": True, "result": result} @router.post("/test-welcome-email") async def send_test_welcome_email( request: WelcomeEmailRequest, current_user: User = Depends(get_admin_user) ): """Send a test welcome email (admin only)""" result = await email_service.send_welcome_email( to_email=request.to_email, first_name=request.first_name ) return {"success": True, "result": result}