@contentgrowth/content-emailing 0.7.7 → 0.7.9
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-DbAGIGdI.d.cts} +1 -1
- package/dist/{TemplateManager-Db41KyPN.d.ts → TemplateManager-DbAGIGdI.d.ts} +1 -1
- package/dist/backend/index.cjs +62 -2
- package/dist/backend/index.cjs.map +1 -1
- package/dist/backend/index.js +62 -2
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/routes/index.cjs +90 -60
- package/dist/backend/routes/index.cjs.map +1 -1
- package/dist/backend/routes/index.d.cts +15 -12
- package/dist/backend/routes/index.d.ts +15 -12
- package/dist/backend/routes/index.js +90 -60
- package/dist/backend/routes/index.js.map +1 -1
- package/dist/frontend/index.cjs +4 -4
- package/dist/frontend/index.cjs.map +1 -1
- package/dist/frontend/index.d.cts +1 -1
- package/dist/frontend/index.d.ts +1 -1
- package/dist/frontend/index.js +4 -4
- package/dist/frontend/index.js.map +1 -1
- package/dist/index.cjs +63 -3
- 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 +63 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/backend/index.cjs
CHANGED
|
@@ -35,7 +35,7 @@ __export(backend_exports, {
|
|
|
35
35
|
createDOCacheProvider: () => createDOCacheProvider,
|
|
36
36
|
createEmailLoggerCallback: () => createEmailLoggerCallback,
|
|
37
37
|
createEmailRoutes: () => createEmailRoutes,
|
|
38
|
-
createTemplateRoutes: () =>
|
|
38
|
+
createTemplateRoutes: () => createTemplateRoutes,
|
|
39
39
|
createTrackingRoutes: () => createTrackingRoutes,
|
|
40
40
|
encodeTrackingLinks: () => encodeTrackingLinks,
|
|
41
41
|
extractVariables: () => extractVariables,
|
|
@@ -1466,12 +1466,42 @@ function createSettingsRoutes(config = {}) {
|
|
|
1466
1466
|
return c.json({ error: error.message }, 500);
|
|
1467
1467
|
}
|
|
1468
1468
|
});
|
|
1469
|
+
app.post("/test", async (c) => {
|
|
1470
|
+
try {
|
|
1471
|
+
const settings = await c.req.json();
|
|
1472
|
+
const user = c.get("dbUser") || c.get("user");
|
|
1473
|
+
if (!user || !user.email) {
|
|
1474
|
+
return c.json({ error: "User email not found for testing" }, 400);
|
|
1475
|
+
}
|
|
1476
|
+
const emailService = new EmailService(c.env, {
|
|
1477
|
+
...config,
|
|
1478
|
+
settingsLoader: async () => settings
|
|
1479
|
+
});
|
|
1480
|
+
const result = await emailService.sendEmail({
|
|
1481
|
+
to: user.email,
|
|
1482
|
+
subject: "Test Email Configuration",
|
|
1483
|
+
html: "<h1>It Works!</h1><p>Your email settings are configured correctly.</p>",
|
|
1484
|
+
text: "It Works! Your email settings are configured correctly.",
|
|
1485
|
+
profile: "system",
|
|
1486
|
+
// Use system defaults logic in service, but our loader overrides it
|
|
1487
|
+
userId: user.id
|
|
1488
|
+
});
|
|
1489
|
+
if (result.success) {
|
|
1490
|
+
return c.json({ success: true, message: `Test email sent to ${user.email}` });
|
|
1491
|
+
} else {
|
|
1492
|
+
return c.json({ success: false, error: result.error || "Failed to send test email" }, 400);
|
|
1493
|
+
}
|
|
1494
|
+
} catch (error) {
|
|
1495
|
+
console.error("Test settings failed:", error);
|
|
1496
|
+
return c.json({ error: error.message }, 500);
|
|
1497
|
+
}
|
|
1498
|
+
});
|
|
1469
1499
|
return app;
|
|
1470
1500
|
}
|
|
1471
1501
|
|
|
1472
1502
|
// src/backend/routes/templates.js
|
|
1473
1503
|
var import_hono2 = require("hono");
|
|
1474
|
-
function
|
|
1504
|
+
function createTemplateRoutes(config = {}) {
|
|
1475
1505
|
const app = new import_hono2.Hono();
|
|
1476
1506
|
app.get("/", async (c) => {
|
|
1477
1507
|
const emailService = new EmailService(c.env, config);
|
|
@@ -1728,6 +1758,36 @@ function createTrackingRoutes(env, config = {}) {
|
|
|
1728
1758
|
|
|
1729
1759
|
// src/backend/routes/logs.js
|
|
1730
1760
|
var import_hono4 = require("hono");
|
|
1761
|
+
function createLogRoutes(config = {}) {
|
|
1762
|
+
const app = new import_hono4.Hono();
|
|
1763
|
+
app.get("/", async (c) => {
|
|
1764
|
+
const limit = Math.min(parseInt(c.req.query("limit") || "50"), 100);
|
|
1765
|
+
const offset = parseInt(c.req.query("offset") || "0");
|
|
1766
|
+
const env = c.env;
|
|
1767
|
+
try {
|
|
1768
|
+
const table = `${config.emailTablePrefix || "system_email_"}logs`;
|
|
1769
|
+
const { results } = await env.DB.prepare(`
|
|
1770
|
+
SELECT * FROM ${table}
|
|
1771
|
+
ORDER BY created_at DESC
|
|
1772
|
+
LIMIT ? OFFSET ?
|
|
1773
|
+
`).bind(limit, offset).all();
|
|
1774
|
+
const countResult = await env.DB.prepare(`SELECT COUNT(*) as exact_count FROM ${table}`).first();
|
|
1775
|
+
return c.json({
|
|
1776
|
+
logs: results.map((row) => ({
|
|
1777
|
+
...row,
|
|
1778
|
+
metadata: row.metadata ? JSON.parse(row.metadata) : null
|
|
1779
|
+
})),
|
|
1780
|
+
total: countResult.exact_count,
|
|
1781
|
+
limit,
|
|
1782
|
+
offset
|
|
1783
|
+
});
|
|
1784
|
+
} catch (error) {
|
|
1785
|
+
console.error("Failed to fetch logs:", error);
|
|
1786
|
+
return c.json({ error: "Failed to fetch logs" }, 500);
|
|
1787
|
+
}
|
|
1788
|
+
});
|
|
1789
|
+
return app;
|
|
1790
|
+
}
|
|
1731
1791
|
|
|
1732
1792
|
// src/backend/routes/index.js
|
|
1733
1793
|
function createEmailRoutes(config = {}, cacheProvider = null) {
|