payload-plugin-newsletter 0.23.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/dist/client.d.ts +1 -0
- package/dist/collections.cjs +36 -1
- package/dist/collections.cjs.map +1 -1
- package/dist/collections.js +36 -1
- package/dist/collections.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.js +38 -1
- package/dist/types.d.cts +1 -0
- package/dist/types.d.ts +1 -0
- package/package.json +1 -1
package/dist/collections.js
CHANGED
|
@@ -2972,6 +2972,17 @@ var createSubscribersCollection = (pluginConfig) => {
|
|
|
2972
2972
|
admin: {
|
|
2973
2973
|
description: "Where the subscriber signed up from"
|
|
2974
2974
|
}
|
|
2975
|
+
},
|
|
2976
|
+
// Import tracking
|
|
2977
|
+
{
|
|
2978
|
+
name: "importedFromProvider",
|
|
2979
|
+
type: "checkbox",
|
|
2980
|
+
defaultValue: false,
|
|
2981
|
+
admin: {
|
|
2982
|
+
description: "Indicates this subscriber was imported from an external provider via webhook",
|
|
2983
|
+
position: "sidebar",
|
|
2984
|
+
readOnly: true
|
|
2985
|
+
}
|
|
2975
2986
|
}
|
|
2976
2987
|
];
|
|
2977
2988
|
if (pluginConfig.features?.utmTracking?.enabled) {
|
|
@@ -3082,7 +3093,7 @@ var createSubscribersCollection = (pluginConfig) => {
|
|
|
3082
3093
|
} else {
|
|
3083
3094
|
console.warn("[Newsletter Plugin] No email service configured for subscriber creation");
|
|
3084
3095
|
}
|
|
3085
|
-
if (doc.subscriptionStatus === "active" && emailService) {
|
|
3096
|
+
if (doc.subscriptionStatus === "active" && emailService && !doc.importedFromProvider) {
|
|
3086
3097
|
try {
|
|
3087
3098
|
const settings = await req.payload.findGlobal({
|
|
3088
3099
|
slug: pluginConfig.settingsSlug || "newsletter-settings"
|
|
@@ -3128,6 +3139,30 @@ var createSubscribersCollection = (pluginConfig) => {
|
|
|
3128
3139
|
console.warn("[Newsletter Plugin] No email service configured");
|
|
3129
3140
|
}
|
|
3130
3141
|
}
|
|
3142
|
+
if (doc.subscriptionStatus === "active" && previousDoc.subscriptionStatus === "unsubscribed" && !doc.importedFromProvider && emailService) {
|
|
3143
|
+
try {
|
|
3144
|
+
const settings = await req.payload.findGlobal({
|
|
3145
|
+
slug: pluginConfig.settingsSlug || "newsletter-settings"
|
|
3146
|
+
});
|
|
3147
|
+
const serverURL = req.payload.config.serverURL || process.env.PAYLOAD_PUBLIC_SERVER_URL || "";
|
|
3148
|
+
const html = await renderEmail("welcome", {
|
|
3149
|
+
email: doc.email,
|
|
3150
|
+
siteName: settings?.brandSettings?.siteName || "Newsletter",
|
|
3151
|
+
preferencesUrl: `${serverURL}/account/preferences`
|
|
3152
|
+
}, pluginConfig);
|
|
3153
|
+
await emailService.send({
|
|
3154
|
+
to: doc.email,
|
|
3155
|
+
subject: settings?.brandSettings?.siteName ? `Welcome back to ${settings.brandSettings.siteName}!` : "Welcome back!",
|
|
3156
|
+
html
|
|
3157
|
+
});
|
|
3158
|
+
console.warn(`Welcome email sent to resubscribed user: ${doc.email}`);
|
|
3159
|
+
} catch (error) {
|
|
3160
|
+
console.error("Failed to send resubscription welcome email:", error);
|
|
3161
|
+
}
|
|
3162
|
+
if (pluginConfig.hooks?.afterSubscribe) {
|
|
3163
|
+
await pluginConfig.hooks.afterSubscribe({ doc, req });
|
|
3164
|
+
}
|
|
3165
|
+
}
|
|
3131
3166
|
if (doc.subscriptionStatus === "unsubscribed" && previousDoc.subscriptionStatus !== "unsubscribed") {
|
|
3132
3167
|
doc.unsubscribedAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
3133
3168
|
if (pluginConfig.hooks?.afterUnsubscribe) {
|