mirror of
https://github.com/xtr-dev/payload-mailing.git
synced 2025-12-10 16:23:23 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7f04275d39 | ||
| 20afe30e88 | |||
| 02b3fecadf |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@xtr-dev/payload-mailing",
|
||||
"version": "0.1.16",
|
||||
"version": "0.1.17",
|
||||
"description": "Template-based email system with scheduling and job processing for PayloadCMS",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
|
||||
@@ -15,7 +15,7 @@ export interface SendEmailTaskInput {
|
||||
to: string | string[]
|
||||
cc?: string | string[]
|
||||
bcc?: string | string[]
|
||||
scheduledAt?: string // ISO date string
|
||||
scheduledAt?: string | Date // ISO date string or Date object
|
||||
priority?: number
|
||||
|
||||
// Allow any additional fields that users might have in their email collection
|
||||
|
||||
@@ -100,6 +100,23 @@ export const sendEmail = async <TEmail extends BaseEmailDocument = BaseEmailDocu
|
||||
emailData.from = validated && validated.length > 0 ? validated[0] : undefined
|
||||
}
|
||||
|
||||
// Normalize Date objects to ISO strings for consistent database storage
|
||||
if (emailData.scheduledAt instanceof Date) {
|
||||
emailData.scheduledAt = emailData.scheduledAt.toISOString()
|
||||
}
|
||||
if (emailData.sentAt instanceof Date) {
|
||||
emailData.sentAt = emailData.sentAt.toISOString()
|
||||
}
|
||||
if (emailData.lastAttemptAt instanceof Date) {
|
||||
emailData.lastAttemptAt = emailData.lastAttemptAt.toISOString()
|
||||
}
|
||||
if (emailData.createdAt instanceof Date) {
|
||||
emailData.createdAt = emailData.createdAt.toISOString()
|
||||
}
|
||||
if (emailData.updatedAt instanceof Date) {
|
||||
emailData.updatedAt = emailData.updatedAt.toISOString()
|
||||
}
|
||||
|
||||
// Create the email in the collection with proper typing
|
||||
const email = await payload.create({
|
||||
collection: collectionSlug,
|
||||
|
||||
Reference in New Issue
Block a user