Email template management

This commit is contained in:
James Pattinson
2025-11-10 16:07:22 +00:00
parent 43b13ef52d
commit 7fd237c28b
17 changed files with 1421 additions and 259 deletions

View File

@@ -23,6 +23,10 @@ from .schemas import (
PaymentUpdate,
PaymentResponse,
MessageResponse,
EmailTemplateBase,
EmailTemplateCreate,
EmailTemplateUpdate,
EmailTemplateResponse,
)
__all__ = [
@@ -50,4 +54,8 @@ __all__ = [
"PaymentUpdate",
"PaymentResponse",
"MessageResponse",
"EmailTemplateBase",
"EmailTemplateCreate",
"EmailTemplateUpdate",
"EmailTemplateResponse",
]

View File

@@ -166,3 +166,35 @@ class PaymentResponse(BaseModel):
class MessageResponse(BaseModel):
message: str
detail: Optional[str] = None
# Email Template Schemas
class EmailTemplateBase(BaseModel):
template_key: str
name: str
subject: str
html_body: str
text_body: Optional[str] = None
variables: Optional[str] = None
class EmailTemplateCreate(EmailTemplateBase):
pass
class EmailTemplateUpdate(BaseModel):
name: Optional[str] = None
subject: Optional[str] = None
html_body: Optional[str] = None
text_body: Optional[str] = None
variables: Optional[str] = None
is_active: Optional[bool] = None
class EmailTemplateResponse(EmailTemplateBase):
model_config = ConfigDict(from_attributes=True)
id: int
is_active: bool
created_at: datetime
updated_at: datetime