Skip to content

agent: extract email infrastructure into agent::email module#2909

Draft
GregorShear wants to merge 1 commit into
masterfrom
greg/email
Draft

agent: extract email infrastructure into agent::email module#2909
GregorShear wants to merge 1 commit into
masterfrom
greg/email

Conversation

@GregorShear
Copy link
Copy Markdown
Contributor

Move EmailSender trait, Sender enum, and ResendSender out of agent::alerts::notifier into a standalone agent::email module so non-alert emails (e.g. invite emails) can reuse the same sending infrastructure.

  • New agent::email module with EmailSender trait, Sender, ResendSender, and Arc impl
  • Extract EMAIL_WRAPPER_TEMPLATE constant and register_email_wrapper() from notifications crate so non-alert emails can share Estuary branding
  • Construct Sender at top level in main.rs wrapped in Arc, ready to be shared across alert notifications and future invite email code
  • alerts::notifier re-exports EmailSender and Sender to preserve the existing public API

Description:

(Describe the high level scope of new or changed features)

Workflow steps:

(How does one use this feature, and how has it changed)

Documentation links affected:

(list any documentation links that you created, or existing ones that you've identified as needing updates, along with a brief description)

Notes for reviewers:

(anything that might help someone review this PR)

Move EmailSender trait, Sender enum, and ResendSender out of agent::alerts::notifier into a standalone agent::email module so non-alert emails (e.g. invite emails) can reuse the same sending infrastructure.

- New agent::email module with EmailSender trait, Sender, ResendSender, and Arc<Sender> impl
- Extract EMAIL_WRAPPER_TEMPLATE constant and register_email_wrapper() from notifications crate so non-alert emails can share Estuary branding
- Construct Sender at top level in main.rs wrapped in Arc, ready to be shared across alert notifications and future invite email code
- alerts::notifier re-exports EmailSender and Sender to preserve the existing public API
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant