Skip to content

Commit 9022c8d

Browse files
authored
Merge branch 'main' into mayank/amazon-ses-impl
2 parents cae6712 + cac206f commit 9022c8d

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

backend/app/routes/send_email.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
from typing import Annotated
2+
3+
from fastapi import APIRouter, Depends
4+
5+
from app.interfaces.email_service import IEmailService
6+
from app.services.email.email_service import EmailService
7+
from app.services.email.email_service_provider import AmazonSESEmailProvider
8+
9+
router = APIRouter(
10+
prefix="/email",
11+
tags=["email"],
12+
)
13+
14+
15+
def get_email_service() -> IEmailService:
16+
email_provider = AmazonSESEmailProvider(aws_access_key="", aws_secret_key="")
17+
return EmailService(email_provider)
18+
19+
20+
# TODO (Mayank, Nov 30th) - Remove test emails once email service is fully implemented
21+
@router.post("/send-test-email/")
22+
async def send_welcome_email(
23+
recipient: str,
24+
user_name: str,
25+
email_service: Annotated[IEmailService, Depends(get_email_service)],
26+
):
27+
email_service.send_welcome_email(recipient, user_name)
28+
return {"message": f"Welcome email sent to {user_name}!"}

backend/app/server.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
from contextlib import asynccontextmanager
33
from typing import Union
44

5+
from backend.app.routes import send_email
56
from dotenv import load_dotenv
67
from fastapi import FastAPI
78

9+
810
from app.routes import email_test
911

1012
load_dotenv()
@@ -31,7 +33,6 @@ async def lifespan(_: FastAPI):
3133
# running-alembic-migrations-on-fastapi-startup
3234
app = FastAPI(lifespan=lifespan)
3335
app.include_router(user.router)
34-
3536
app.include_router(email_test.router)
3637

3738

0 commit comments

Comments
 (0)