taolib.testing.email_service.models.email

taolib.testing.email_service.models.email#

Email message models.

Classes#

EmailRecipient

Email recipient with optional display name.

EmailAttachment

Email attachment metadata.

EmailBase

Shared email fields.

EmailCreate

Email creation request.

EmailResponse

Email API response.

EmailDocument

Email MongoDB document.

Module Contents#

class taolib.testing.email_service.models.email.EmailRecipient#

Bases: pydantic.BaseModel

Email recipient with optional display name.

email: str#
name: str | None#
class taolib.testing.email_service.models.email.EmailAttachment#

Bases: pydantic.BaseModel

Email attachment metadata.

filename: str#
content_type: str#
content_base64: str#
class taolib.testing.email_service.models.email.EmailBase#

Bases: pydantic.BaseModel

Shared email fields.

sender: str#
sender_name: str | None#
recipients: list[EmailRecipient]#
cc: list[EmailRecipient]#
bcc: list[EmailRecipient]#
subject: str#
email_type: taolib.testing.email_service.models.enums.EmailType#
priority: taolib.testing.email_service.models.enums.EmailPriority#
tags: list[str]#
class taolib.testing.email_service.models.email.EmailCreate#

Bases: EmailBase

Email creation request.

template_id: str | None#
template_variables: dict[str, str | int | float | bool | list | dict]#
html_body: str | None#
text_body: str | None#
attachments: list[EmailAttachment]#
schedule_at: datetime.datetime | None#
metadata: dict[str, str]#
class taolib.testing.email_service.models.email.EmailResponse#

Bases: EmailBase

Email API response.

id: str#
status: taolib.testing.email_service.models.enums.EmailStatus#
provider: str | None#
provider_message_id: str | None#
template_id: str | None#
html_body: str | None#
text_body: str | None#
retry_count: int#
error_message: str | None#
sent_at: datetime.datetime | None#
delivered_at: datetime.datetime | None#
opened_at: datetime.datetime | None#
created_at: datetime.datetime#
updated_at: datetime.datetime#
metadata: dict[str, str]#
model_config#
class taolib.testing.email_service.models.email.EmailDocument#

Bases: EmailBase

Email MongoDB document.

id: str#
status: taolib.testing.email_service.models.enums.EmailStatus#
provider: str | None#
provider_message_id: str | None#
template_id: str | None#
html_body: str | None#
text_body: str | None#
attachments: list[EmailAttachment]#
retry_count: int#
max_retries: int#
error_message: str | None#
schedule_at: datetime.datetime | None#
sent_at: datetime.datetime | None#
delivered_at: datetime.datetime | None#
opened_at: datetime.datetime | None#
created_at: datetime.datetime#
updated_at: datetime.datetime#
created_by: str#
metadata: dict[str, str]#
model_config#
to_response() EmailResponse#

Convert to API response model.