taolib.testing.email_service.models#
Email service data models.
Exports public model classes for email, template, tracking, and subscription management.
Submodules#
Classes#
Email attachment metadata. |
|
Email creation request. |
|
Email MongoDB document. |
|
Email recipient with optional display name. |
|
Email API response. |
|
Bounce classification. |
|
Email sending priority. |
|
Email delivery status. |
|
Email category type. |
|
Email service provider type. |
|
Tracking event type for email analytics. |
|
Subscription MongoDB document. |
|
Subscription API response. |
|
Subscription status. |
|
Template creation request. |
|
Template MongoDB document. |
|
Template API response. |
|
Template update request (all fields optional). |
|
Tracking event MongoDB document. |
|
Tracking event API response. |
Package Contents#
- class taolib.testing.email_service.models.EmailAttachment#
Bases:
pydantic.BaseModelEmail attachment metadata.
- class taolib.testing.email_service.models.EmailCreate#
Bases:
EmailBaseEmail creation request.
- attachments: list[EmailAttachment]#
- schedule_at: datetime.datetime | None#
- class taolib.testing.email_service.models.EmailDocument#
Bases:
EmailBaseEmail MongoDB document.
- attachments: list[EmailAttachment]#
- 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#
- model_config#
- to_response() EmailResponse#
Convert to API response model.
- class taolib.testing.email_service.models.EmailRecipient#
Bases:
pydantic.BaseModelEmail recipient with optional display name.
- class taolib.testing.email_service.models.EmailResponse#
Bases:
EmailBaseEmail API response.
- sent_at: datetime.datetime | None#
- delivered_at: datetime.datetime | None#
- opened_at: datetime.datetime | None#
- created_at: datetime.datetime#
- updated_at: datetime.datetime#
- model_config#
- class taolib.testing.email_service.models.BounceType#
Bases:
enum.StrEnumBounce classification.
- HARD = 'hard'#
- SOFT = 'soft'#
- UNDETERMINED = 'undetermined'#
- class taolib.testing.email_service.models.EmailPriority#
Bases:
enum.StrEnumEmail sending priority.
- HIGH = 'high'#
- NORMAL = 'normal'#
- LOW = 'low'#
- class taolib.testing.email_service.models.EmailStatus#
Bases:
enum.StrEnumEmail delivery status.
- QUEUED = 'queued'#
- SENDING = 'sending'#
- SENT = 'sent'#
- DELIVERED = 'delivered'#
- OPENED = 'opened'#
- CLICKED = 'clicked'#
- BOUNCED = 'bounced'#
- FAILED = 'failed'#
- REJECTED = 'rejected'#
- class taolib.testing.email_service.models.EmailType#
Bases:
enum.StrEnumEmail category type.
- TRANSACTIONAL = 'transactional'#
- MARKETING = 'marketing'#
- class taolib.testing.email_service.models.ProviderType#
Bases:
enum.StrEnumEmail service provider type.
- SENDGRID = 'sendgrid'#
- MAILGUN = 'mailgun'#
- SES = 'ses'#
- SMTP = 'smtp'#
- class taolib.testing.email_service.models.TrackingEventType#
Bases:
enum.StrEnumTracking event type for email analytics.
- SENT = 'sent'#
- DELIVERED = 'delivered'#
- OPENED = 'opened'#
- CLICKED = 'clicked'#
- BOUNCED = 'bounced'#
- COMPLAINED = 'complained'#
- UNSUBSCRIBED = 'unsubscribed'#
- class taolib.testing.email_service.models.SubscriptionDocument#
Bases:
pydantic.BaseModelSubscription MongoDB document.
Tracks whether a recipient has unsubscribed from marketing emails.
- subscribed_at: datetime.datetime#
- unsubscribed_at: datetime.datetime | None#
- created_at: datetime.datetime#
- updated_at: datetime.datetime#
- model_config#
- to_response() SubscriptionResponse#
Convert to API response model.
- class taolib.testing.email_service.models.SubscriptionResponse#
Bases:
pydantic.BaseModelSubscription API response.
- subscribed_at: datetime.datetime#
- unsubscribed_at: datetime.datetime | None = None#
- created_at: datetime.datetime#
- updated_at: datetime.datetime#
- model_config#
- class taolib.testing.email_service.models.SubscriptionStatus#
Bases:
enum.StrEnumSubscription status.
- ACTIVE = 'active'#
- UNSUBSCRIBED = 'unsubscribed'#
- class taolib.testing.email_service.models.TemplateCreate#
Bases:
TemplateBaseTemplate creation request.
- class taolib.testing.email_service.models.TemplateDocument#
Bases:
TemplateBaseTemplate MongoDB document.
- created_at: datetime.datetime#
- updated_at: datetime.datetime#
- model_config#
- to_response() TemplateResponse#
Convert to API response model.
- class taolib.testing.email_service.models.TemplateResponse#
Bases:
TemplateBaseTemplate API response.
- created_at: datetime.datetime#
- updated_at: datetime.datetime#
- model_config#
- class taolib.testing.email_service.models.TemplateUpdate#
Bases:
pydantic.BaseModelTemplate update request (all fields optional).
- email_type: taolib.testing.email_service.models.enums.EmailType | None = None#
- class taolib.testing.email_service.models.TrackingEventDocument#
Bases:
TrackingEventBaseTracking event MongoDB document.
- bounce_type: taolib.testing.email_service.models.enums.BounceType | None#
- created_at: datetime.datetime#
- model_config#
- to_response() TrackingEventResponse#
Convert to API response model.
- class taolib.testing.email_service.models.TrackingEventResponse#
Bases:
TrackingEventBaseTracking event API response.
- bounce_type: taolib.testing.email_service.models.enums.BounceType | None#
- created_at: datetime.datetime#
- model_config#