First commit
This commit is contained in:
47
backend/app/api/v1/email.py
Normal file
47
backend/app/api/v1/email.py
Normal file
@@ -0,0 +1,47 @@
|
||||
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"<html><body><p>{request.message}</p></body></html>"
|
||||
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}
|
||||
Reference in New Issue
Block a user