mirror of
https://github.com/xtr-dev/payload-mailing.git
synced 2025-12-10 00:03:23 +00:00
- Create centralized sanitization utilities in utils/helpers.ts - Add sanitizeDisplayName() with configurable quote escaping - Add sanitizeFromName() wrapper for consistent fromName handling - Replace duplicated sanitization logic in sendEmail.ts (9 lines → 1 line) - Replace duplicated sanitization logic in MailingService.ts (9 lines → 1 line) - Export new utilities from main index for external use - Maintain identical functionality while reducing maintenance overhead Benefits: - Single source of truth for email header sanitization - Consistent security handling across all email components - Easier to maintain and update sanitization logic - Configurable quote escaping for different use cases 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
// Main plugin export
|
|
export { mailingPlugin, default as mailingPluginDefault } from './plugin.js'
|
|
|
|
// Types
|
|
export * from './types/index.js'
|
|
|
|
// Services
|
|
export { MailingService } from './services/MailingService.js'
|
|
|
|
// Collections
|
|
export { default as EmailTemplates, createEmailTemplatesCollection } from './collections/EmailTemplates.js'
|
|
export { default as Emails } from './collections/Emails.js'
|
|
|
|
// Jobs (includes the individual email processing job)
|
|
export { mailingJobs } from './jobs/index.js'
|
|
export type { ProcessEmailJobInput } from './jobs/processEmailJob.js'
|
|
|
|
// Main email sending function
|
|
export { sendEmail, type SendEmailOptions } from './sendEmail.js'
|
|
export { default as sendEmailDefault } from './sendEmail.js'
|
|
|
|
// Utility functions for developers
|
|
export {
|
|
getMailing,
|
|
renderTemplate,
|
|
processEmails,
|
|
retryFailedEmails,
|
|
parseAndValidateEmails,
|
|
sanitizeDisplayName,
|
|
sanitizeFromName,
|
|
} from './utils/helpers.js'
|
|
|
|
// Email processing utilities
|
|
export { processEmailById, processJobById, processAllEmails } from './utils/emailProcessor.js'
|
|
|
|
// Job scheduling utilities
|
|
export { findExistingJobs, ensureEmailJob, updateEmailJobRelationship } from './utils/jobScheduler.js' |