@contentgrowth/content-emailing 0.7.8 → 0.8.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/dist/{TemplateManager-Db41KyPN.d.cts → TemplateManager-DX_McznX.d.cts} +10 -1
- package/dist/{TemplateManager-Db41KyPN.d.ts → TemplateManager-DX_McznX.d.ts} +10 -1
- package/dist/backend/index.cjs +30 -0
- package/dist/backend/index.cjs.map +1 -1
- package/dist/backend/index.js +30 -0
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/routes/index.cjs +86 -56
- package/dist/backend/routes/index.cjs.map +1 -1
- package/dist/backend/routes/index.d.cts +3 -0
- package/dist/backend/routes/index.d.ts +3 -0
- package/dist/backend/routes/index.js +86 -56
- package/dist/backend/routes/index.js.map +1 -1
- package/dist/frontend/index.cjs +40 -14
- package/dist/frontend/index.cjs.map +1 -1
- package/dist/frontend/index.d.cts +2 -1
- package/dist/frontend/index.d.ts +2 -1
- package/dist/frontend/index.js +40 -14
- package/dist/frontend/index.js.map +1 -1
- package/dist/index.cjs +55 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +55 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { EmailService } from './backend/EmailService.cjs';
|
|
2
|
-
export { a as TemplateEditor, T as TemplateManager } from './TemplateManager-
|
|
2
|
+
export { a as TemplateEditor, T as TemplateManager } from './TemplateManager-DX_McznX.cjs';
|
|
3
3
|
export { EmailingCacheDO, createDOCacheProvider } from './backend/EmailingCacheDO.cjs';
|
|
4
4
|
export { EmailLogger, createEmailLoggerCallback } from './backend/index.cjs';
|
|
5
5
|
export { createEmailRoutes, createTemplateRoutes, createTrackingRoutes } from './backend/routes/index.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { EmailService } from './backend/EmailService.js';
|
|
2
|
-
export { a as TemplateEditor, T as TemplateManager } from './TemplateManager-
|
|
2
|
+
export { a as TemplateEditor, T as TemplateManager } from './TemplateManager-DX_McznX.js';
|
|
3
3
|
export { EmailingCacheDO, createDOCacheProvider } from './backend/EmailingCacheDO.js';
|
|
4
4
|
export { EmailLogger, createEmailLoggerCallback } from './backend/index.js';
|
|
5
5
|
export { createEmailRoutes, createTemplateRoutes, createTrackingRoutes } from './backend/routes/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1418,6 +1418,36 @@ function createSettingsRoutes(config = {}) {
|
|
|
1418
1418
|
return c.json({ error: error.message }, 500);
|
|
1419
1419
|
}
|
|
1420
1420
|
});
|
|
1421
|
+
app.post("/test", async (c) => {
|
|
1422
|
+
try {
|
|
1423
|
+
const settings = await c.req.json();
|
|
1424
|
+
const user = c.get("dbUser") || c.get("user");
|
|
1425
|
+
if (!user || !user.email) {
|
|
1426
|
+
return c.json({ error: "User email not found for testing" }, 400);
|
|
1427
|
+
}
|
|
1428
|
+
const emailService = new EmailService(c.env, {
|
|
1429
|
+
...config,
|
|
1430
|
+
settingsLoader: async () => settings
|
|
1431
|
+
});
|
|
1432
|
+
const result = await emailService.sendEmail({
|
|
1433
|
+
to: user.email,
|
|
1434
|
+
subject: "Test Email Configuration",
|
|
1435
|
+
html: "<h1>It Works!</h1><p>Your email settings are configured correctly.</p>",
|
|
1436
|
+
text: "It Works! Your email settings are configured correctly.",
|
|
1437
|
+
profile: "system",
|
|
1438
|
+
// Use system defaults logic in service, but our loader overrides it
|
|
1439
|
+
userId: user.id
|
|
1440
|
+
});
|
|
1441
|
+
if (result.success) {
|
|
1442
|
+
return c.json({ success: true, message: `Test email sent to ${user.email}` });
|
|
1443
|
+
} else {
|
|
1444
|
+
return c.json({ success: false, error: result.error || "Failed to send test email" }, 400);
|
|
1445
|
+
}
|
|
1446
|
+
} catch (error) {
|
|
1447
|
+
console.error("Test settings failed:", error);
|
|
1448
|
+
return c.json({ error: error.message }, 500);
|
|
1449
|
+
}
|
|
1450
|
+
});
|
|
1421
1451
|
return app;
|
|
1422
1452
|
}
|
|
1423
1453
|
|
|
@@ -1938,9 +1968,10 @@ var TemplateTester = ({
|
|
|
1938
1968
|
template,
|
|
1939
1969
|
onSendTest,
|
|
1940
1970
|
onCancel,
|
|
1941
|
-
sending = false
|
|
1971
|
+
sending = false,
|
|
1972
|
+
defaultValues = {}
|
|
1942
1973
|
}) => {
|
|
1943
|
-
const [toEmail, setToEmail] = useState2("");
|
|
1974
|
+
const [toEmail, setToEmail] = useState2(defaultValues.to || "");
|
|
1944
1975
|
const [variables, setVariables] = useState2({});
|
|
1945
1976
|
const [detectedVariables, setDetectedVariables] = useState2([]);
|
|
1946
1977
|
const [error, setError] = useState2(null);
|
|
@@ -1952,11 +1983,18 @@ var TemplateTester = ({
|
|
|
1952
1983
|
const uniqueVars = Array.from(/* @__PURE__ */ new Set([...subjectVars, ...bodyVars]));
|
|
1953
1984
|
setDetectedVariables(uniqueVars);
|
|
1954
1985
|
const initialValues = {};
|
|
1986
|
+
const defaults = defaultValues.variables || {};
|
|
1955
1987
|
uniqueVars.forEach((v) => {
|
|
1956
|
-
|
|
1988
|
+
if (defaults[v]) {
|
|
1989
|
+
initialValues[v] = defaults[v];
|
|
1990
|
+
} else if (v === "email" && toEmail) {
|
|
1991
|
+
initialValues[v] = toEmail;
|
|
1992
|
+
} else {
|
|
1993
|
+
initialValues[v] = "";
|
|
1994
|
+
}
|
|
1957
1995
|
});
|
|
1958
1996
|
setVariables(initialValues);
|
|
1959
|
-
}, [template]);
|
|
1997
|
+
}, [template, defaultValues]);
|
|
1960
1998
|
const handleSubmit = async (e) => {
|
|
1961
1999
|
e.preventDefault();
|
|
1962
2000
|
setError(null);
|
|
@@ -1964,7 +2002,7 @@ var TemplateTester = ({
|
|
|
1964
2002
|
try {
|
|
1965
2003
|
await onSendTest({
|
|
1966
2004
|
template_id: template.template_id,
|
|
1967
|
-
|
|
2005
|
+
to: toEmail,
|
|
1968
2006
|
variables
|
|
1969
2007
|
});
|
|
1970
2008
|
setSuccess("Test email sent successfully!");
|
|
@@ -1978,7 +2016,13 @@ var TemplateTester = ({
|
|
|
1978
2016
|
type: "email",
|
|
1979
2017
|
required: true,
|
|
1980
2018
|
value: toEmail,
|
|
1981
|
-
onChange: (e) =>
|
|
2019
|
+
onChange: (e) => {
|
|
2020
|
+
const val = e.target.value;
|
|
2021
|
+
setToEmail(val);
|
|
2022
|
+
if (variables["email"] !== void 0) {
|
|
2023
|
+
setVariables((prev) => ({ ...prev, email: val }));
|
|
2024
|
+
}
|
|
2025
|
+
},
|
|
1982
2026
|
className: "w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500",
|
|
1983
2027
|
placeholder: "recipient@example.com"
|
|
1984
2028
|
}
|
|
@@ -2031,8 +2075,10 @@ var TemplateManager = ({
|
|
|
2031
2075
|
onSendTestEmail,
|
|
2032
2076
|
title = "Email Templates",
|
|
2033
2077
|
description = "Manage system email templates",
|
|
2034
|
-
templateTypes
|
|
2078
|
+
templateTypes,
|
|
2079
|
+
defaultTestValues
|
|
2035
2080
|
}) => {
|
|
2081
|
+
const props = { defaultTestValues };
|
|
2036
2082
|
const [templates, setTemplates] = useState3([]);
|
|
2037
2083
|
const [loading, setLoading] = useState3(true);
|
|
2038
2084
|
const [error, setError] = useState3(null);
|
|
@@ -2239,7 +2285,8 @@ var TemplateManager = ({
|
|
|
2239
2285
|
template: testingTemplate,
|
|
2240
2286
|
onSendTest: handleTest,
|
|
2241
2287
|
onCancel: () => setShowTester(false),
|
|
2242
|
-
sending: saving
|
|
2288
|
+
sending: saving,
|
|
2289
|
+
defaultValues: props.defaultTestValues
|
|
2243
2290
|
}
|
|
2244
2291
|
), deleteConfirm && /* @__PURE__ */ React3.createElement("div", { className: "fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4" }, /* @__PURE__ */ React3.createElement("div", { className: "bg-white rounded-lg shadow-xl max-w-sm w-full p-6" }, /* @__PURE__ */ React3.createElement("h3", { className: "text-lg font-semibold mb-2" }, "Delete Template?"), /* @__PURE__ */ React3.createElement("p", { className: "text-gray-600 mb-4" }, "This action cannot be undone."), /* @__PURE__ */ React3.createElement("div", { className: "flex justify-end gap-3" }, /* @__PURE__ */ React3.createElement(
|
|
2245
2292
|
"button",
|