Files
publisher-dashboard/packages/emails/src/emails/index.ts
igm c2b815dd6a Extract emails into separate package with clean interface
- Create packages/emails/ with EmailClient interface abstraction
- Wrap Postmark ServerClient in adapter for clean typing
- Add createLoggingEmailClient for dev mode (logs to console)
- Split email templates into individual files with full test coverage
- Update api-server to use new package via context injection
- Remove EMAIL_DEV_MODE - now uses POSTMARK_API_KEY presence
- Delete apps/api-server/src/utils/email.ts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 15:51:12 +08:00

40 lines
918 B
TypeScript

export {
buildLoginConfirmationEmailHtml,
buildLoginConfirmationEmailText,
sendLoginConfirmationEmail,
} from "./login-confirmation.js";
export type {
LoginConfirmationEmailParams,
SendLoginConfirmationEmailParams,
} from "./login-confirmation.js";
export {
buildOrgInviteEmailHtml,
buildOrgInviteEmailText,
sendOrgInviteEmail,
} from "./org-invite.js";
export type {
OrgInviteEmailParams,
SendOrgInviteEmailParams,
} from "./org-invite.js";
export {
buildPasswordResetEmailHtml,
buildPasswordResetEmailText,
sendPasswordResetEmail,
} from "./password-reset.js";
export type {
PasswordResetEmailParams,
SendPasswordResetEmailParams,
} from "./password-reset.js";
export {
buildVerificationEmailHtml,
buildVerificationEmailText,
sendVerificationEmail,
} from "./verification.js";
export type {
SendVerificationEmailParams,
VerificationEmailParams,
} from "./verification.js";