language-learning-app/api/app/outbound/email/factory.py

25 lines
837 B
Python

from .protocol import TransactionalEmailClient
def get_email_client() -> TransactionalEmailClient:
from ...config import settings
if settings.transactional_email_provider == "scaleway":
from ..scaleway_tem.tem_client import ScalewayTEMClient
return ScalewayTEMClient(
secret_key=settings.scaleway_tem_secret_key,
from_address=settings.scaleway_tem_from_address,
project_id=settings.scaleway_tem_project_id,
region=settings.scaleway_tem_region,
)
if settings.transactional_email_provider == "stub":
from .stub_client import StubEmailClient
return StubEmailClient()
raise ValueError(
f"Unknown transactional_email_provider: {settings.transactional_email_provider!r}. "
"Valid options: 'scaleway', 'stub'."
)