@antelopejs/dms-mailing 0.7.1 → 0.9.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/README.md +46 -31
- package/dist/automation/email-event-trigger.d.ts +2 -2
- package/dist/automation/send-template-action.d.ts +11 -3
- package/dist/automation/send-template-action.js +1 -1
- package/dist/automation/send-template-action.js.map +1 -1
- package/dist/crons/jobs.d.ts +1 -1
- package/dist/data/body.d.ts +2 -1
- package/dist/data/body.js +4 -2
- package/dist/data/body.js.map +1 -1
- package/dist/data/read-only-routes.d.ts +4 -4
- package/dist/data/sends-table.d.ts +4 -4
- package/dist/data/suppressions-table.d.ts +4 -4
- package/dist/data/templates-table.d.ts +35 -12
- package/dist/data/templates-table.js +30 -24
- package/dist/data/templates-table.js.map +1 -1
- package/dist/data-types/categories-type.d.ts +1 -2
- package/dist/data-types/categories-type.js +3 -5
- package/dist/data-types/categories-type.js.map +1 -1
- package/dist/data-types/category-type.d.ts +1 -2
- package/dist/data-types/category-type.js +3 -5
- package/dist/data-types/category-type.js.map +1 -1
- package/dist/db/models/send-events.model.d.ts +7 -5
- package/dist/db/models/sends.model.d.ts +7 -5
- package/dist/db/models/sends.model.js.map +1 -1
- package/dist/db/models/settings.model.d.ts +7 -5
- package/dist/db/models/suppressions.model.d.ts +7 -5
- package/dist/db/models/template-versions.model.d.ts +7 -5
- package/dist/db/models/template-versions.model.js +4 -3
- package/dist/db/models/template-versions.model.js.map +1 -1
- package/dist/db/models/templates.model.d.ts +7 -5
- package/dist/db/models/templates.model.js +2 -1
- package/dist/db/models/templates.model.js.map +1 -1
- package/dist/db/models/webhook-status.model.d.ts +7 -5
- package/dist/db/tables/templates.table.js.map +1 -1
- package/dist/engine/changes.js +8 -18
- package/dist/engine/changes.js.map +1 -1
- package/dist/engine/conditions.d.ts +2 -1
- package/dist/engine/conditions.js +5 -5
- package/dist/engine/conditions.js.map +1 -1
- package/dist/engine/coverage.d.ts +2 -1
- package/dist/engine/coverage.js.map +1 -1
- package/dist/engine/fallback-html.js +8 -8
- package/dist/engine/fallback-html.js.map +1 -1
- package/dist/engine/formats.d.ts +4 -6
- package/dist/engine/formats.js +22 -8
- package/dist/engine/formats.js.map +1 -1
- package/dist/engine/paths.d.ts +4 -2
- package/dist/engine/paths.js +16 -5
- package/dist/engine/paths.js.map +1 -1
- package/dist/engine/plain-text.js +2 -4
- package/dist/engine/plain-text.js.map +1 -1
- package/dist/engine/resolve.d.ts +2 -1
- package/dist/engine/resolve.js +1 -1
- package/dist/engine/resolve.js.map +1 -1
- package/dist/engine/system-variables.d.ts +2 -1
- package/dist/engine/system-variables.js +1 -1
- package/dist/engine/system-variables.js.map +1 -1
- package/dist/engine/tokens.d.ts +2 -1
- package/dist/engine/tokens.js.map +1 -1
- package/dist/hooks/tenant-export.js +10 -9
- package/dist/hooks/tenant-export.js.map +1 -1
- package/dist/pages/sends.js.map +1 -1
- package/dist/pages/templates.js +3 -1
- package/dist/pages/templates.js.map +1 -1
- package/dist/pages/toolbar.js.map +1 -1
- package/dist/routes/events.js +6 -4
- package/dist/routes/events.js.map +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/metrics.js +31 -31
- package/dist/routes/metrics.js.map +1 -1
- package/dist/routes/period.js +5 -5
- package/dist/routes/period.js.map +1 -1
- package/dist/routes/sends.js +4 -5
- package/dist/routes/sends.js.map +1 -1
- package/dist/routes/settings.d.ts +1 -1
- package/dist/routes/settings.js +16 -14
- package/dist/routes/settings.js.map +1 -1
- package/dist/routes/suppressions.js +9 -6
- package/dist/routes/suppressions.js.map +1 -1
- package/dist/routes/template-content.d.ts +27 -0
- package/dist/routes/template-content.js +3 -0
- package/dist/routes/template-content.js.map +1 -0
- package/dist/routes/templates.d.ts +7 -30
- package/dist/routes/templates.js +7 -6
- package/dist/routes/templates.js.map +1 -1
- package/dist/routes/zod-json.d.ts +3 -0
- package/dist/routes/zod-json.js +21 -0
- package/dist/routes/zod-json.js.map +1 -0
- package/dist/services/attention.js +16 -8
- package/dist/services/attention.js.map +1 -1
- package/dist/services/catalog.js +4 -2
- package/dist/services/catalog.js.map +1 -1
- package/dist/services/categories.js +6 -6
- package/dist/services/categories.js.map +1 -1
- package/dist/services/checked-send.js +16 -9
- package/dist/services/checked-send.js.map +1 -1
- package/dist/services/declaration-error.d.ts +1 -1
- package/dist/services/declaration-error.js.map +1 -1
- package/dist/services/declarations.js +4 -1
- package/dist/services/declarations.js.map +1 -1
- package/dist/services/events.js +13 -7
- package/dist/services/events.js.map +1 -1
- package/dist/services/localized-text.d.ts +2 -1
- package/dist/services/localized-text.js +2 -1
- package/dist/services/localized-text.js.map +1 -1
- package/dist/services/metrics.js +2 -5
- package/dist/services/metrics.js.map +1 -1
- package/dist/services/render.js.map +1 -1
- package/dist/services/send-import.js +7 -3
- package/dist/services/send-import.js.map +1 -1
- package/dist/services/send.js +7 -7
- package/dist/services/send.js.map +1 -1
- package/dist/services/settings.d.ts +4 -2
- package/dist/services/settings.js +5 -4
- package/dist/services/settings.js.map +1 -1
- package/dist/services/starters.d.ts +3 -2
- package/dist/services/starters.js +5 -5
- package/dist/services/starters.js.map +1 -1
- package/dist/services/template-stats.js +5 -2
- package/dist/services/template-stats.js.map +1 -1
- package/dist/services/templates.d.ts +2 -1
- package/dist/services/templates.js +8 -4
- package/dist/services/templates.js.map +1 -1
- package/dist/services/webhook-status.d.ts +2 -2
- package/dist/services/webhook-status.js +6 -4
- package/dist/services/webhook-status.js.map +1 -1
- package/dist/types/json.d.ts +1 -0
- package/dist/types/json.js +3 -0
- package/dist/types/json.js.map +1 -0
- package/dist/types/settings.d.ts +2 -2
- package/dist/validation/declarations.schema.d.ts +44 -44
- package/dist/validation/declarations.schema.js +6 -5
- package/dist/validation/declarations.schema.js.map +1 -1
- package/dist/validation/guards.d.ts +3 -0
- package/dist/validation/guards.js +15 -0
- package/dist/validation/guards.js.map +1 -0
- package/dist/validation/json.d.ts +5 -0
- package/dist/validation/json.js +54 -0
- package/dist/validation/json.js.map +1 -0
- package/dist/validation/json.schema.d.ts +2 -0
- package/dist/validation/json.schema.js +9 -0
- package/dist/validation/json.schema.js.map +1 -0
- package/dist/validation/send-event-type.schema.d.ts +2 -0
- package/dist/validation/send-event-type.schema.js +11 -0
- package/dist/validation/send-event-type.schema.js.map +1 -0
- package/dist/validation/settings.schema.js +1 -1
- package/dist/validation/settings.schema.js.map +1 -1
- package/dist/validation/templates.schema.d.ts +44 -42
- package/dist/validation/templates.schema.js +4 -3
- package/dist/validation/templates.schema.js.map +1 -1
- package/frontend-vue/app/build/components/TemplateDrawerFooter.vue +45 -0
- package/frontend-vue/app/build/components/TemplateDrawerPerformance.vue +102 -0
- package/frontend-vue/app/build/components/TemplateDrawerVariables.vue +110 -0
- package/frontend-vue/app/build/composables/useDrawerStats.ts +78 -0
- package/frontend-vue/app/components/DuplicateModal.vue +3 -11
- package/frontend-vue/app/components/FixAddressModal.vue +2 -1
- package/frontend-vue/app/components/NewTemplateModal.vue +3 -11
- package/frontend-vue/app/components/RealSendModal.vue +6 -17
- package/frontend-vue/app/components/RenderingModal.vue +2 -1
- package/frontend-vue/app/components/SendDrawer.vue +5 -4
- package/frontend-vue/app/components/StarterGallery.vue +3 -11
- package/frontend-vue/app/components/TemplateDrawer.vue +40 -269
- package/frontend-vue/app/components/TestSendModal.vue +7 -18
- package/frontend-vue/app/components/VersionHistory.vue +2 -7
- package/frontend-vue/app/components/WebhookStatus.vue +2 -1
- package/frontend-vue/app/components/editor/EditorWorkspace.vue +2 -7
- package/frontend-vue/build/backend-boundary.ts +122 -0
- package/frontend-vue/dms.frontend.build.ts +7 -0
- package/frontend-vue/eslint.config.mjs +13 -0
- package/frontend-vue/package.json +4 -2
- package/frontend-vue/pnpm-lock.yaml +250 -61
- package/frontend-vue/tests/backend-boundary.test.ts +203 -0
- package/frontend-vue/tests/dnd.test.ts +1 -2
- package/frontend-vue/tests/editor-block-list.test.ts +136 -53
- package/frontend-vue/tests/helpers/auth-fetch.ts +123 -0
- package/frontend-vue/tests/helpers/nuxt-globals.ts +17 -1
- package/frontend-vue/tests/new-template-modal.test.ts +41 -6
- package/frontend-vue/tests/page-reads.test.ts +26 -6
- package/frontend-vue/tests/send-actions.test.ts +0 -1
- package/frontend-vue/tests/send-drawer.test.ts +2 -6
- package/frontend-vue/tests/send-modals.test.ts +8 -5
- package/frontend-vue/tests/sortable-list.test.ts +54 -62
- package/frontend-vue/tests/suppression.test.ts +1 -2
- package/frontend-vue/tests/template-drawer.test.ts +27 -18
- package/frontend-vue/tests/template-gallery.test.ts +7 -5
- package/frontend-vue/tests/template-preview-frame.test.ts +2 -5
- package/package.json +16 -20
- package/skills/dms-mailing/SKILL.md +1 -1
- package/skills/dms-mailing/cases.json +49 -0
- package/src/automation/email-event-trigger.ts +2 -2
- package/src/automation/send-template-action.ts +33 -14
- package/src/crons/jobs.ts +1 -1
- package/src/data/body.ts +7 -3
- package/src/data/templates-table.ts +55 -56
- package/src/data-types/categories-type.ts +2 -2
- package/src/data-types/category-type.ts +2 -2
- package/src/db/models/sends.model.ts +2 -2
- package/src/db/models/template-versions.model.ts +10 -4
- package/src/db/models/templates.model.ts +6 -3
- package/src/db/tables/templates.table.ts +1 -1
- package/src/engine/changes.ts +11 -28
- package/src/engine/conditions.ts +14 -8
- package/src/engine/coverage.ts +2 -1
- package/src/engine/fallback-html.ts +13 -13
- package/src/engine/formats.ts +35 -21
- package/src/engine/paths.ts +41 -7
- package/src/engine/plain-text.ts +2 -4
- package/src/engine/resolve.ts +12 -4
- package/src/engine/system-variables.ts +6 -4
- package/src/engine/tokens.ts +3 -3
- package/src/hooks/tenant-export.ts +11 -13
- package/src/pages/sends.ts +5 -3
- package/src/pages/templates.ts +4 -2
- package/src/pages/toolbar.ts +4 -2
- package/src/routes/events.ts +10 -10
- package/src/routes/index.ts +1 -0
- package/src/routes/metrics.ts +35 -33
- package/src/routes/period.ts +5 -5
- package/src/routes/sends.ts +23 -26
- package/src/routes/settings.ts +21 -17
- package/src/routes/suppressions.ts +12 -8
- package/src/routes/template-content.ts +45 -0
- package/src/routes/templates.ts +16 -49
- package/src/routes/zod-json.ts +28 -0
- package/src/services/attention.ts +20 -18
- package/src/services/catalog.ts +4 -8
- package/src/services/categories.ts +6 -6
- package/src/services/checked-send.ts +17 -19
- package/src/services/declaration-error.ts +1 -1
- package/src/services/declarations.ts +7 -6
- package/src/services/events.ts +18 -13
- package/src/services/localized-text.ts +4 -2
- package/src/services/metrics.ts +5 -7
- package/src/services/notify.ts +1 -1
- package/src/services/render.ts +5 -1
- package/src/services/send-import.ts +16 -11
- package/src/services/send.ts +10 -13
- package/src/services/settings.ts +17 -16
- package/src/services/starters.ts +12 -8
- package/src/services/template-stats.ts +11 -4
- package/src/services/templates.ts +24 -15
- package/src/services/webhook-status.ts +13 -8
- package/src/types/json.ts +1 -0
- package/src/types/settings.ts +2 -2
- package/src/validation/declarations.schema.ts +6 -5
- package/src/validation/guards.ts +17 -0
- package/src/validation/json.schema.ts +7 -0
- package/src/validation/json.ts +66 -0
- package/src/validation/send-event-type.schema.ts +10 -0
- package/src/validation/settings.schema.ts +7 -2
- package/src/validation/templates.schema.ts +9 -4
- package/frontend-vue/tests/i18n-editor.test.ts +0 -50
- package/frontend-vue/tests/i18n.test.ts +0 -138
package/README.md
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# `@antelopejs/dms-mailing`
|
|
4
4
|
|
|
5
|
-
<a href="https://www.npmjs.com/package/@antelopejs/dms-mailing"><img alt="npm" src="https://img.shields.io/npm/v/@antelopejs/dms-mailing?style=for-the-badge&labelColor=000000&color=000000"></a>
|
|
6
|
-
<a href="./LICENSE"><img alt="License" src="https://img.shields.io/npm/l/@antelopejs/dms-mailing?style=for-the-badge&labelColor=000000&color=000000"></a>
|
|
7
|
-
<a href="https://discord.gg/
|
|
8
|
-
<a href="https://dms.antelopejs.com/docs/modules/mailing"><img alt="Documentation" src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000"></a>
|
|
5
|
+
<a href="https://www.npmjs.com/package/@antelopejs/dms-mailing"><img alt="npm" src="https://img.shields.io/npm/v/@antelopejs/dms-mailing?style=for-the-badge&labelColor=000000&color=000000" data-illustration></a>
|
|
6
|
+
<a href="./LICENSE"><img alt="License" src="https://img.shields.io/npm/l/@antelopejs/dms-mailing?style=for-the-badge&labelColor=000000&color=000000" data-illustration></a>
|
|
7
|
+
<a href="https://discord.gg/g4pFt6eXqu"><img alt="Discord" src="https://img.shields.io/badge/Discord-18181B?logo=discord&style=for-the-badge&color=000000" data-illustration></a>
|
|
8
|
+
<a href="https://dms.antelopejs.com/docs/modules/mailing"><img alt="Documentation" src="https://img.shields.io/badge/Docs-18181B?style=for-the-badge&color=000000" data-illustration></a>
|
|
9
9
|
|
|
10
10
|
E-mail templates, sends and delivery metrics for the AntelopeJS DMS.
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
|
-

|
|
15
15
|
|
|
16
16
|
## What it does
|
|
17
17
|
|
|
@@ -19,11 +19,11 @@ E-mail templates, sends and delivery metrics for the AntelopeJS DMS.
|
|
|
19
19
|
- Keeps edits in draft and publishes them as versions, in several locales.
|
|
20
20
|
- Sends a template by its slug from your code, an automation or the dashboard, through any `@antelopejs/interface-email` provider.
|
|
21
21
|
- Logs every send with the provider's timeline, and turns delivery, open and click events into an overview.
|
|
22
|
-
- Protects your sender reputation with a suppression list fed by bounces, complaints and unsubscriptions.
|
|
22
|
+
- Protects your sender reputation with a suppression list fed by hard bounces, spam complaints and unsubscriptions.
|
|
23
23
|
|
|
24
24
|
## Install
|
|
25
25
|
|
|
26
|
-
Run the AntelopeJS CLI from the root of a project that already loads `@antelopejs/dms
|
|
26
|
+
Run the AntelopeJS CLI from the root of a project that already loads `@antelopejs/dms`. Add an e-mail provider if the project has none:
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
29
|
ajs project modules add @antelopejs/dms-mailing
|
|
@@ -34,48 +34,63 @@ ajs project modules add @antelopejs/nodemailer
|
|
|
34
34
|
|
|
35
35
|
In development, send to a throwaway Ethereal inbox:
|
|
36
36
|
|
|
37
|
-
```ts
|
|
37
|
+
```ts fragment
|
|
38
38
|
// antelope.config.ts
|
|
39
39
|
nodemailer: {
|
|
40
|
-
source: { type: "package", package: "@antelopejs/nodemailer", version: ">=0.0.
|
|
40
|
+
source: { type: "package", package: "@antelopejs/nodemailer", version: ">=0.0.6 <1.0.0" },
|
|
41
41
|
config: { ethereal: true },
|
|
42
42
|
},
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
Restart the backend, then the frontend, and open **Modules › Mailing** (`/modules/mailing/overview`).
|
|
45
|
+
Restart the backend, then the frontend, and open **Modules › Mailing** (`/modules/mailing/overview`). On a workspace with no templates, create the **Order confirmation** template from the starter gallery and publish it. Its slug is `order-confirmed`. The **New template** dialog derives the slug from the name instead, so it gives `order-confirmation`. Check the slug before you send. Any module can then send it through [`@antelopejs/interface-dms-mailing`](https://github.com/AntelopeJS/dms-mailing/tree/main/packages/interface-dms-mailing):
|
|
46
46
|
|
|
47
|
-
```ts
|
|
47
|
+
```ts fragment
|
|
48
48
|
import { SendTemplate } from "@antelopejs/interface-dms-mailing";
|
|
49
49
|
|
|
50
|
-
await SendTemplate("order-
|
|
50
|
+
await SendTemplate("order-confirmed", {
|
|
51
51
|
tenantId,
|
|
52
52
|
to: "sofie@example.com",
|
|
53
|
-
variables: {
|
|
53
|
+
variables: {
|
|
54
|
+
customer: { firstName: "Sofie" },
|
|
55
|
+
order: {
|
|
56
|
+
number: "#10482",
|
|
57
|
+
total: { value: 4800, currency: "EUR" },
|
|
58
|
+
lines: [{ name: "Linen shirt", total: { value: 4800, currency: "EUR" } }],
|
|
59
|
+
url: "https://example.com/orders/10482",
|
|
60
|
+
},
|
|
61
|
+
},
|
|
54
62
|
});
|
|
55
63
|
```
|
|
56
64
|
|
|
57
65
|
## Compatibility
|
|
58
66
|
|
|
59
|
-
|
|
60
|
-
| --- | --- |
|
|
61
|
-
| `@antelopejs/dms` | `>=0.11.0 <1.0.0` |
|
|
62
|
-
| `@antelopejs/interface-dms` | `>=0.9.0 <1.0.0` |
|
|
63
|
-
| `@antelopejs/dms-frontend` (renderer, playground range) | `>=0.6.1 <0.7.0` |
|
|
64
|
-
| `@antelopejs/interface-dms-mailing` | `>=0.8.0 <0.9.0` |
|
|
65
|
-
| Database module | one that enforces unique indexes: `@antelopejs/mongodb` `>=1.5.0`, `@antelopejs/postgres` `>=0.2.2` |
|
|
66
|
-
| E-mail provider | an `@antelopejs/interface-email` implementation, such as `@antelopejs/nodemailer` |
|
|
67
|
+
<!-- antelopejs-docs-compat:start -->
|
|
67
68
|
|
|
68
|
-
|
|
69
|
+
| Package | Supported | Tested with |
|
|
70
|
+
| ------------------------------------------- | ------------------ | ----------- |
|
|
71
|
+
| `@antelopejs/interface-api` | `>=0.3.0 <1.0.0` | `0.3.0` |
|
|
72
|
+
| `@antelopejs/interface-api-util` | `>=0.3.0 <1.0.0` | `0.3.0` |
|
|
73
|
+
| `@antelopejs/interface-core` | `>=0.4.0 <1.0.0` | `0.4.0` |
|
|
74
|
+
| `@antelopejs/interface-data-api` | `>=0.6.1 <1.0.0` | `0.6.1` |
|
|
75
|
+
| `@antelopejs/interface-database` | `>=0.3.0 <1.0.0` | `0.3.0` |
|
|
76
|
+
| `@antelopejs/interface-database-decorators` | `>=0.2.0 <1.0.0` | `0.2.0` |
|
|
77
|
+
| `@antelopejs/interface-dms` | `>=0.12.0 <1.0.0` | `0.12.0` |
|
|
78
|
+
| `@antelopejs/interface-dms-automation` | `>=0.6.0 <1.0.0` | `0.6.0` |
|
|
79
|
+
| `@antelopejs/interface-dms-mailing` | `>=0.10.0 <0.11.0` | `0.10.0` |
|
|
80
|
+
| `@antelopejs/interface-email` | `>=0.0.6 <1.0.0` | `0.0.6` |
|
|
81
|
+
|
|
82
|
+
<!-- antelopejs-docs-compat:end -->
|
|
83
|
+
|
|
84
|
+
The module also needs:
|
|
85
|
+
|
|
86
|
+
- A DMS backend in a release that implements the `@antelopejs/interface-dms` range in the table above.
|
|
87
|
+
- The `@antelopejs/dms-frontend` renderer in the range of `engines["@antelopejs/dms-frontend"]` in `frontend-vue/package.json`. The `ajs dms` CLI refuses to build the module with a renderer outside that range.
|
|
88
|
+
- A database module that enforces unique indexes, such as `@antelopejs/mongodb` or `@antelopejs/postgres`.
|
|
89
|
+
- An e-mail provider, which is an `@antelopejs/interface-email` implementation such as `@antelopejs/nodemailer`.
|
|
69
90
|
|
|
70
91
|
## Slugs
|
|
71
92
|
|
|
72
|
-
Sends find a template by its slug, so a slug belongs to one template per
|
|
73
|
-
workspace: the `slug` index of `mailing_templates` is unique. Creating or
|
|
74
|
-
duplicating a template with a slug another template holds, even in a race,
|
|
75
|
-
gets `409 duplicate_slug` instead of a second template. Deleting a template
|
|
76
|
-
frees its slug. This needs a database module that enforces unique indexes
|
|
77
|
-
(`@antelopejs/mongodb` 1.5, `@antelopejs/postgres` 0.3); RethinkDB refuses
|
|
78
|
-
the schema.
|
|
93
|
+
Sends find a template by its slug, so a slug belongs to one template per workspace. The `slug` index of the `mailing_templates` table is unique. Creating or duplicating a template on a slug another template holds, even in a race, answers `409` with `$dms_mailing.errors.duplicate_slug` and creates nothing. Deleting a template frees its slug. The unique index needs a database module that enforces unique indexes, such as `@antelopejs/mongodb` or `@antelopejs/postgres`. RethinkDB refuses the schema.
|
|
79
94
|
|
|
80
95
|
## Documentation
|
|
81
96
|
|
|
@@ -83,7 +98,7 @@ the schema.
|
|
|
83
98
|
- [Installation](https://dms.antelopejs.com/docs/modules/mailing/installation)
|
|
84
99
|
- [Configuration](https://dms.antelopejs.com/docs/modules/mailing/configuration)
|
|
85
100
|
- [Usage](https://dms.antelopejs.com/docs/modules/mailing/usage/overview)
|
|
86
|
-
- [Extending](https://dms.antelopejs.com/docs/modules/mailing/extending): sending from code, provider events and webhooks, automations
|
|
101
|
+
- [Extending](https://dms.antelopejs.com/docs/modules/mailing/extending): sending from code, templates as code, importing past sends, provider events and webhooks, automations
|
|
87
102
|
- [FAQ](https://dms.antelopejs.com/docs/modules/mailing/faq)
|
|
88
103
|
|
|
89
104
|
The guide's sources live in [`packages/dms-mailing/docs`](https://github.com/AntelopeJS/dms-mailing/tree/main/packages/dms-mailing/docs). The module ships the `dms-mailing` Claude Code skill in [`packages/dms-mailing/skills`](https://github.com/AntelopeJS/dms-mailing/tree/main/packages/dms-mailing/skills), declared under `antelopeJs.skills`.
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { TriggerType } from "@antelopejs/interface-dms-automation";
|
|
2
2
|
import { type SendEventType } from "../types";
|
|
3
|
-
export
|
|
3
|
+
export type EmailEventPayload = {
|
|
4
4
|
tenantId: string;
|
|
5
5
|
sendId: string;
|
|
6
6
|
templateSlug: string;
|
|
7
7
|
type: SendEventType;
|
|
8
8
|
recipientEmail: string;
|
|
9
|
-
}
|
|
9
|
+
};
|
|
10
10
|
export interface EmailEventTriggerConfig {
|
|
11
11
|
types?: SendEventType[];
|
|
12
12
|
}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import type { ActionType } from "@antelopejs/interface-dms-automation";
|
|
2
2
|
import type { EmailAddress } from "@antelopejs/interface-email";
|
|
3
|
-
import type { SendTemplateResult } from "@antelopejs/interface-dms-mailing";
|
|
3
|
+
import type { SendTemplateResult, TemplateVariables } from "@antelopejs/interface-dms-mailing";
|
|
4
4
|
export interface SendTemplateActionInput {
|
|
5
5
|
tenantId: string;
|
|
6
6
|
slug: string;
|
|
7
7
|
to: EmailAddress | EmailAddress[];
|
|
8
8
|
locale?: string;
|
|
9
|
-
variables?:
|
|
9
|
+
variables?: TemplateVariables;
|
|
10
10
|
source?: string;
|
|
11
11
|
}
|
|
12
12
|
export declare const SEND_TEMPLATE_ACTION_ID = "mailing.send-template";
|
|
13
|
-
|
|
13
|
+
type SendTemplateOutput = {
|
|
14
|
+
sendId: string;
|
|
15
|
+
status: SendTemplateResult["status"];
|
|
16
|
+
messageId?: string;
|
|
17
|
+
error?: string;
|
|
18
|
+
results?: SendTemplateOutput[];
|
|
19
|
+
};
|
|
20
|
+
export declare const sendTemplateAction: ActionType<SendTemplateActionInput, SendTemplateOutput>;
|
|
21
|
+
export {};
|
|
@@ -63,7 +63,7 @@ exports.sendTemplateAction = {
|
|
|
63
63
|
return result;
|
|
64
64
|
}
|
|
65
65
|
catch (error) {
|
|
66
|
-
ctx.log("error", `Template "${input.slug}" could not be sent`, error);
|
|
66
|
+
ctx.log("error", `Template "${input.slug}" could not be sent`, error instanceof Error ? error.message : String(error));
|
|
67
67
|
throw error;
|
|
68
68
|
}
|
|
69
69
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-template-action.js","sourceRoot":"","sources":["../../src/automation/send-template-action.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"send-template-action.js","sourceRoot":"","sources":["../../src/automation/send-template-action.ts"],"names":[],"mappings":";;;AASA,2DAAgE;AAChE,oCAAyC;AAW5B,QAAA,uBAAuB,GAAG,uBAAuB,CAAC;AAE/D,MAAM,wBAAwB,GAAG,aAAa,CAAC;AAE/C,MAAM,YAAY,GAAe;IAC/B,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;QAM1E,EAAE,EAAE;YACF,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EAAE,wDAAwD;SACtE;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B;IACD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,iBAAiB,GAAG;IACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAa,EAAE;IAC/C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CACe,CAAC;AAE3C,MAAM,aAAa,GAAe;IAChC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,GAAG,iBAAiB;QACpB,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,yBAAyB;YACtC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE;SACzD;KACF;CACF,CAAC;AAWF,MAAM,gBAAgB,GAAG,CAAC,MAA0B,EAAwB,EAAE,CAC5E,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;AAE/D,QAAA,kBAAkB,GAG3B;IACF,EAAE,EAAE,+BAAuB;IAC3B,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,2DAA2D;IACxE,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,aAAa;IAC3B,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,MAAM,GACV,KAAK,CAAC,MAAM,IAAI,GAAG,wBAAwB,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,MAAM,GAAuB,MAAM,IAAA,mCAAoB,EAC3D,KAAK,CAAC,IAAI,EACV;gBACE,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM;aACP,CACF,CAAC;YACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,GAAG,CAAC,GAAG,CACL,OAAO,EACP,aAAa,KAAK,CAAC,IAAI,sBAAsB,QAAQ,CAAC,MAAM,eAAe,EAC3E,QAAQ,CACT,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,GAAG,CACL,OAAO,EACP,aAAa,KAAK,CAAC,IAAI,qBAAqB,EAC5C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAC"}
|
package/dist/crons/jobs.d.ts
CHANGED
package/dist/data/body.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { JsonValue } from "../types/json";
|
|
2
|
+
export declare function parseBody(body: Buffer | string): JsonValue;
|
package/dist/data/body.js
CHANGED
|
@@ -3,13 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.parseBody = parseBody;
|
|
4
4
|
const interface_api_1 = require("@antelopejs/interface-api");
|
|
5
5
|
const constants_1 = require("../constants");
|
|
6
|
+
const guards_1 = require("../validation/guards");
|
|
7
|
+
const json_1 = require("../validation/json");
|
|
6
8
|
const INVALID_BODY = "$dms_mailing.errors.invalid_body";
|
|
7
9
|
function parseBody(body) {
|
|
8
|
-
const raw =
|
|
10
|
+
const raw = (0, guards_1.isText)(body) ? body : body.toString("utf8");
|
|
9
11
|
if (!raw)
|
|
10
12
|
return {};
|
|
11
13
|
try {
|
|
12
|
-
return
|
|
14
|
+
return (0, json_1.parseJson)(raw);
|
|
13
15
|
}
|
|
14
16
|
catch {
|
|
15
17
|
throw new interface_api_1.HTTPResult(constants_1.HTTP_BAD_REQUEST, INVALID_BODY);
|
package/dist/data/body.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/data/body.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/data/body.ts"],"names":[],"mappings":";;AASA,8BAQC;AAjBD,6DAAuD;AACvD,4CAAgD;AAEhD,iDAA8C;AAC9C,6CAA+C;AAE/C,MAAM,YAAY,GAAG,kCAAkC,CAAC;AAGxD,SAAgB,SAAS,CAAC,IAAqB;IAC7C,MAAM,GAAG,GAAG,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,IAAA,gBAAS,EAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,0BAAU,CAAC,4BAAgB,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const READ_ONLY_ROUTES: {
|
|
2
|
-
get: import("@antelopejs/interface-data-api").DataControllerCallback
|
|
3
|
-
list: import("@antelopejs/interface-data-api").DataControllerCallback
|
|
2
|
+
get: import("@antelopejs/interface-data-api").DataControllerCallback<import("@antelopejs/interface-data-api/components").Parameters.GetParameters, import("@antelopejs/interface-data-api/metadata").RowFields, [import("@antelopejs/interface-api").RequestContext, import("@antelopejs/interface-data-api/components").Parameters.GetParameters, import("@antelopejs/interface-dms/auth/db").User, import("@antelopejs/interface-api").RequestContext, string | undefined, string | undefined, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
3
|
+
list: import("@antelopejs/interface-data-api").DataControllerCallback<import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/base").TableViewListPage, [import("@antelopejs/interface-api").RequestContext, import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
4
4
|
count: import("@antelopejs/interface-data-api").DataControllerCallback;
|
|
5
|
-
countBatch: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any>;
|
|
6
|
-
select: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<
|
|
5
|
+
countBatch: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any, unknown, [ctx: any, opts: any, ...args: any[]]>;
|
|
6
|
+
select: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/base").TableViewListPage, [import("@antelopejs/interface-api").RequestContext, import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
7
7
|
};
|
|
@@ -2,11 +2,11 @@ import { type CellSubline } from "@antelopejs/interface-dms/base/table-view";
|
|
|
2
2
|
import { MailingSend, SendModel, SuppressionModel } from "../db";
|
|
3
3
|
import { type SendStage, type SendStatus } from "../types";
|
|
4
4
|
declare const SendsTableAPI_base: import("@antelopejs/interface-core/decorators").Class<import("@antelopejs/interface-data-api").ExtractDefCallbacks<{
|
|
5
|
-
get: import("@antelopejs/interface-data-api").DataControllerCallback
|
|
6
|
-
list: import("@antelopejs/interface-data-api").DataControllerCallback
|
|
5
|
+
get: import("@antelopejs/interface-data-api").DataControllerCallback<import("@antelopejs/interface-data-api/components").Parameters.GetParameters, import("@antelopejs/interface-data-api/metadata").RowFields, [import("@antelopejs/interface-api").RequestContext, import("@antelopejs/interface-data-api/components").Parameters.GetParameters, import("@antelopejs/interface-dms/auth/db").User, import("@antelopejs/interface-api").RequestContext, string | undefined, string | undefined, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
6
|
+
list: import("@antelopejs/interface-data-api").DataControllerCallback<import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/base").TableViewListPage, [import("@antelopejs/interface-api").RequestContext, import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
7
7
|
count: import("@antelopejs/interface-data-api").DataControllerCallback;
|
|
8
|
-
countBatch: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any>;
|
|
9
|
-
select: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<
|
|
8
|
+
countBatch: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any, unknown, [ctx: any, opts: any, ...args: any[]]>;
|
|
9
|
+
select: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/base").TableViewListPage, [import("@antelopejs/interface-api").RequestContext, import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
10
10
|
}> & {
|
|
11
11
|
table: MailingSend;
|
|
12
12
|
}> & import("@antelopejs/interface-core/decorators").Class<object> & {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { MailingSuppression, SuppressionModel } from "../db";
|
|
2
2
|
import { type SuppressionReason } from "../types";
|
|
3
3
|
declare const SuppressionsTableAPI_base: import("@antelopejs/interface-core/decorators").Class<import("@antelopejs/interface-data-api").ExtractDefCallbacks<{
|
|
4
|
-
get: import("@antelopejs/interface-data-api").DataControllerCallback
|
|
5
|
-
list: import("@antelopejs/interface-data-api").DataControllerCallback
|
|
4
|
+
get: import("@antelopejs/interface-data-api").DataControllerCallback<import("@antelopejs/interface-data-api/components").Parameters.GetParameters, import("@antelopejs/interface-data-api/metadata").RowFields, [import("@antelopejs/interface-api").RequestContext, import("@antelopejs/interface-data-api/components").Parameters.GetParameters, import("@antelopejs/interface-dms/auth/db").User, import("@antelopejs/interface-api").RequestContext, string | undefined, string | undefined, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
5
|
+
list: import("@antelopejs/interface-data-api").DataControllerCallback<import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/base").TableViewListPage, [import("@antelopejs/interface-api").RequestContext, import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
6
6
|
count: import("@antelopejs/interface-data-api").DataControllerCallback;
|
|
7
|
-
countBatch: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any>;
|
|
8
|
-
select: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<
|
|
7
|
+
countBatch: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any, unknown, [ctx: any, opts: any, ...args: any[]]>;
|
|
8
|
+
select: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/base").TableViewListPage, [import("@antelopejs/interface-api").RequestContext, import("@antelopejs/interface-data-api/components").Parameters.ListParameters, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
9
9
|
}> & {
|
|
10
10
|
table: MailingSuppression;
|
|
11
11
|
}> & import("@antelopejs/interface-core/decorators").Class<object> & {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { type RequestContext } from "@antelopejs/interface-api";
|
|
2
2
|
import { type DataControllerCallback } from "@antelopejs/interface-data-api";
|
|
3
|
+
import type { Parameters, Validation } from "@antelopejs/interface-data-api/components";
|
|
3
4
|
import { MailingTemplate, SendModel, TemplateModel } from "../db";
|
|
5
|
+
import { type TemplateDetails } from "../validation/templates.schema";
|
|
6
|
+
export type { TemplateDetails };
|
|
7
|
+
export declare const INVALID_TEMPLATE = "$dms_mailing.errors.invalid_template";
|
|
4
8
|
interface TemplateEdit {
|
|
5
9
|
slug?: unknown;
|
|
6
10
|
category?: unknown;
|
|
@@ -10,20 +14,40 @@ type AfterWrite = () => Promise<void>;
|
|
|
10
14
|
export declare function assertDeletable(tenantId: string, model: TemplateModel, ids: string[]): Promise<void>;
|
|
11
15
|
export declare function afterDelete(tenantId: string, ids: string[]): AfterWrite;
|
|
12
16
|
export declare function assertEditable(tenantId: string, body: TemplateEdit, current: Pick<MailingTemplate, "slug">): Promise<void>;
|
|
13
|
-
export declare function saveDetails(ctx: RequestContext, template: MailingTemplate,
|
|
14
|
-
export declare function afterEdit(model: TemplateModel, id: string,
|
|
17
|
+
export declare function saveDetails(ctx: RequestContext, template: MailingTemplate, details: TemplateDetails, author: string): Promise<void>;
|
|
18
|
+
export declare function afterEdit(model: TemplateModel, id: string, locale: string): AfterWrite;
|
|
15
19
|
declare const TemplatesTableAPI_base: import("@antelopejs/interface-core/decorators").Class<import("@antelopejs/interface-data-api").ExtractDefCallbacks<{
|
|
16
20
|
new: DataControllerCallback;
|
|
17
|
-
get: DataControllerCallback
|
|
18
|
-
list: DataControllerCallback
|
|
19
|
-
select: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<
|
|
21
|
+
get: DataControllerCallback<Parameters.GetParameters, import("@antelopejs/interface-data-api/metadata").RowFields, [RequestContext, Parameters.GetParameters, import("@antelopejs/interface-dms/auth/db").User, RequestContext, string | undefined, string | undefined, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
22
|
+
list: DataControllerCallback<Parameters.ListParameters, import("@antelopejs/interface-dms/base").TableViewListPage, [RequestContext, Parameters.ListParameters, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
23
|
+
select: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<Parameters.ListParameters, import("@antelopejs/interface-dms/base").TableViewListPage, [RequestContext, Parameters.ListParameters, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
20
24
|
count: DataControllerCallback;
|
|
21
|
-
countBatch: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any>;
|
|
22
|
-
summary: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any>;
|
|
23
|
-
edit: DataControllerCallback
|
|
24
|
-
delete: DataControllerCallback
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
countBatch: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any, unknown, [ctx: any, opts: any, ...args: any[]]>;
|
|
26
|
+
summary: import("@antelopejs/interface-data-api").DataControllerCallbackWithOptions<any, unknown, [ctx: any, opts: any, ...args: any[]]>;
|
|
27
|
+
edit: DataControllerCallback<Parameters.EditParameters, import("@antelopejs/interface-data-api/metadata").RowFields, [RequestContext, Parameters.EditParameters, Validation.WrittenBody, import("@antelopejs/interface-dms/auth/db").User, RequestContext, string | undefined, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
28
|
+
delete: DataControllerCallback<Parameters.DeleteParameters, number | {
|
|
29
|
+
deleted: number;
|
|
30
|
+
}, [RequestContext, Parameters.DeleteParameters, Buffer<ArrayBufferLike>, import("@antelopejs/interface-dms/auth/db").User, RequestContext, string | undefined, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
31
|
+
archive: DataControllerCallback<unknown, {
|
|
32
|
+
success: boolean;
|
|
33
|
+
archivedCount: number;
|
|
34
|
+
} | {
|
|
35
|
+
success: boolean;
|
|
36
|
+
restoredCount: number;
|
|
37
|
+
} | {
|
|
38
|
+
success: boolean;
|
|
39
|
+
archivedCount: number;
|
|
40
|
+
}, [RequestContext, string[], Buffer<ArrayBufferLike>, import("@antelopejs/interface-dms/auth/db").User, RequestContext, string | undefined, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
41
|
+
restore: DataControllerCallback<unknown, {
|
|
42
|
+
success: boolean;
|
|
43
|
+
archivedCount: number;
|
|
44
|
+
} | {
|
|
45
|
+
success: boolean;
|
|
46
|
+
restoredCount: number;
|
|
47
|
+
} | {
|
|
48
|
+
success: boolean;
|
|
49
|
+
restoredCount: number;
|
|
50
|
+
}, [RequestContext, string[], Buffer<ArrayBufferLike>, import("@antelopejs/interface-dms/auth/db").User, RequestContext, string | undefined, import("@antelopejs/interface-dms/auth/db").User]>;
|
|
27
51
|
}> & {
|
|
28
52
|
table: MailingTemplate;
|
|
29
53
|
}> & import("@antelopejs/interface-core/decorators").Class<object> & {
|
|
@@ -49,4 +73,3 @@ export declare class TemplatesTableAPI extends TemplatesTableAPI_base {
|
|
|
49
73
|
needsAttention: boolean;
|
|
50
74
|
get hasSends(): Promise<boolean> | boolean;
|
|
51
75
|
}
|
|
52
|
-
export {};
|
|
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.TemplatesTableAPI = void 0;
|
|
12
|
+
exports.TemplatesTableAPI = exports.INVALID_TEMPLATE = void 0;
|
|
13
13
|
exports.assertDeletable = assertDeletable;
|
|
14
14
|
exports.afterDelete = afterDelete;
|
|
15
15
|
exports.assertEditable = assertEditable;
|
|
@@ -17,6 +17,7 @@ exports.saveDetails = saveDetails;
|
|
|
17
17
|
exports.afterEdit = afterEdit;
|
|
18
18
|
const interface_api_1 = require("@antelopejs/interface-api");
|
|
19
19
|
const interface_api_util_1 = require("@antelopejs/interface-api-util");
|
|
20
|
+
const zod_1 = require("zod");
|
|
20
21
|
const interface_data_api_1 = require("@antelopejs/interface-data-api");
|
|
21
22
|
const metadata_1 = require("@antelopejs/interface-data-api/metadata");
|
|
22
23
|
const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
|
|
@@ -38,12 +39,14 @@ const starters_1 = require("../services/starters");
|
|
|
38
39
|
const template_attention_1 = require("../services/template-attention");
|
|
39
40
|
const templates_1 = require("../services/templates");
|
|
40
41
|
const templates_schema_1 = require("../validation/templates.schema");
|
|
42
|
+
const guards_2 = require("../validation/guards");
|
|
43
|
+
const json_1 = require("../validation/json");
|
|
41
44
|
const body_1 = require("./body");
|
|
42
45
|
const displays_1 = require("./displays");
|
|
43
46
|
const SLUG_IMMUTABLE = "$dms_mailing.errors.slug_immutable";
|
|
44
47
|
const SOURCE_NOT_FOUND = "$dms_mailing.errors.template_not_found";
|
|
45
48
|
const STARTER_NOT_FOUND = "$dms_mailing.errors.starter_not_found";
|
|
46
|
-
|
|
49
|
+
exports.INVALID_TEMPLATE = "$dms_mailing.errors.invalid_template";
|
|
47
50
|
const UNKNOWN_CATEGORY = "$dms_mailing.errors.unknown_category";
|
|
48
51
|
const TEMPLATE_IN_USE = "$dms_mailing.errors.template_in_use";
|
|
49
52
|
const TEMPLATE_WAS_SENT = "$dms_mailing.errors.template_was_sent";
|
|
@@ -77,18 +80,20 @@ async function seedFields(tenantId, seed, fallbackLocale) {
|
|
|
77
80
|
throw new interface_api_1.HTTPResult(constants_1.HTTP_NOT_FOUND, STARTER_NOT_FOUND);
|
|
78
81
|
return (0, starters_1.starterFields)(starter, fallbackLocale);
|
|
79
82
|
}
|
|
80
|
-
const isBlank = (value) => value === undefined || value === null || value === "";
|
|
81
83
|
function assertKnownCategory(categories, category) {
|
|
82
|
-
if (
|
|
84
|
+
if (!category || (0, settings_1.findCategory)(categories, category))
|
|
83
85
|
return;
|
|
84
|
-
if (typeof category === "string" && (0, settings_1.findCategory)(categories, category)) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
86
|
throw new interface_api_1.HTTPResult(constants_1.HTTP_UNPROCESSABLE, UNKNOWN_CATEGORY);
|
|
88
87
|
}
|
|
88
|
+
const createdRowSchema = zod_1.z.object({ _id: zod_1.z.string() });
|
|
89
|
+
function parseCreationBody(body) {
|
|
90
|
+
const parsed = (0, body_1.parseBody)(body);
|
|
91
|
+
(0, interface_api_util_1.assert)((0, json_1.isJsonObject)(parsed), constants_1.HTTP_BAD_REQUEST, exports.INVALID_TEMPLATE);
|
|
92
|
+
return parsed;
|
|
93
|
+
}
|
|
89
94
|
function parseCreation(body, locale) {
|
|
90
|
-
const raw = Buffer.isBuffer(body) ? (
|
|
91
|
-
const seed = (0, interface_api_util_1.assertValidation)(raw, (value) => templates_schema_1.createTemplateSchema.parse(value), () => INVALID_TEMPLATE, constants_1.HTTP_BAD_REQUEST);
|
|
95
|
+
const raw = Buffer.isBuffer(body) ? parseCreationBody(body) : body;
|
|
96
|
+
const seed = (0, interface_api_util_1.assertValidation)(raw, (value) => templates_schema_1.createTemplateSchema.parse(value), () => exports.INVALID_TEMPLATE, constants_1.HTTP_BAD_REQUEST);
|
|
92
97
|
const normalized = {
|
|
93
98
|
...raw,
|
|
94
99
|
slug: seed.slug,
|
|
@@ -107,8 +112,8 @@ function withSeeding(base) {
|
|
|
107
112
|
assertKnownCategory(settings.categories, seed.category);
|
|
108
113
|
const fields = await seedFields(tenantId, seed, settings.fallbackLocale);
|
|
109
114
|
this.language = ALL_LANGUAGES;
|
|
110
|
-
const created =
|
|
111
|
-
const templateId = created._id;
|
|
115
|
+
const created = await (0, templates_1.refuseTakenSlug)(Promise.resolve(base.func.call(this, ctx, params, normalized, ...rest)));
|
|
116
|
+
const templateId = createdRowSchema.parse(created)._id;
|
|
112
117
|
const user = await (0, guards_1.authenticateTenantRequest)(ctx);
|
|
113
118
|
await (0, templates_1.initializeTemplate)(tenantId, templateId, (0, templates_1.displayName)(user), fields);
|
|
114
119
|
return created;
|
|
@@ -125,7 +130,7 @@ async function deleteRefusal(tenantId, template) {
|
|
|
125
130
|
const isSent = await wasSent((0, interface_database_decorators_1.GetModel)(db_1.SendModel, tenantId), template.slug);
|
|
126
131
|
return isSent ? TEMPLATE_WAS_SENT : null;
|
|
127
132
|
}
|
|
128
|
-
const BLANK_NAME = { message: INVALID_TEMPLATE, field: "name" };
|
|
133
|
+
const BLANK_NAME = { message: exports.INVALID_TEMPLATE, field: "name" };
|
|
129
134
|
async function assertDeletable(tenantId, model, ids) {
|
|
130
135
|
for (const id of ids) {
|
|
131
136
|
const template = await model.get(id);
|
|
@@ -144,13 +149,20 @@ function afterDelete(tenantId, ids) {
|
|
|
144
149
|
async function assertEditable(tenantId, body, current) {
|
|
145
150
|
if (body.slug !== undefined && body.slug !== current.slug)
|
|
146
151
|
throw new interface_api_1.HTTPResult(constants_1.HTTP_CONFLICT, SLUG_IMMUTABLE);
|
|
147
|
-
if (body.name !== undefined
|
|
148
|
-
|
|
152
|
+
if (body.name !== undefined) {
|
|
153
|
+
const texts = (0, guards_2.isObject)(body.name) ? Object.values(body.name) : [body.name];
|
|
154
|
+
if (!texts.some((text) => (0, guards_2.isText)(text) && text.trim()))
|
|
155
|
+
throw new interface_api_1.HTTPResult(constants_1.HTTP_BAD_REQUEST, BLANK_NAME);
|
|
156
|
+
}
|
|
149
157
|
const { categories } = await (0, settings_1.getSettings)(tenantId);
|
|
150
|
-
|
|
158
|
+
const { category } = body;
|
|
159
|
+
if (category === undefined || category === null || category === "")
|
|
160
|
+
return;
|
|
161
|
+
if (!(0, guards_2.isText)(category))
|
|
162
|
+
throw new interface_api_1.HTTPResult(constants_1.HTTP_UNPROCESSABLE, UNKNOWN_CATEGORY);
|
|
163
|
+
assertKnownCategory(categories, category);
|
|
151
164
|
}
|
|
152
|
-
async function saveDetails(ctx, template,
|
|
153
|
-
const details = (0, interface_api_util_1.assertValidation)(body, (value) => templates_schema_1.templateDetailsSchema.parse(value), () => INVALID_TEMPLATE);
|
|
165
|
+
async function saveDetails(ctx, template, details, author) {
|
|
154
166
|
const tenantId = (0, request_tenant_1.getRequestTenantId)(ctx);
|
|
155
167
|
await assertEditable(tenantId, details, template);
|
|
156
168
|
const names = db_1.TemplateModel.namesOf(template);
|
|
@@ -162,10 +174,6 @@ async function saveDetails(ctx, template, body, author) {
|
|
|
162
174
|
updatedBy: author,
|
|
163
175
|
});
|
|
164
176
|
}
|
|
165
|
-
function isBlankName(name) {
|
|
166
|
-
const texts = typeof name === "object" && name ? Object.values(name) : [name];
|
|
167
|
-
return !texts.some((text) => typeof text === "string" && text.trim());
|
|
168
|
-
}
|
|
169
177
|
function tidyNames(names, locale) {
|
|
170
178
|
const tidy = Object.fromEntries(Object.entries(names)
|
|
171
179
|
.map(([code, text]) => [code, text.trim()])
|
|
@@ -175,9 +183,7 @@ function tidyNames(names, locale) {
|
|
|
175
183
|
const [first = ""] = Object.values(tidy);
|
|
176
184
|
return { ...tidy, [interface_dms_mailing_1.LOCALIZED_TEXT_FALLBACK_LOCALE]: tidy[locale] ?? first };
|
|
177
185
|
}
|
|
178
|
-
function afterEdit(model, id,
|
|
179
|
-
if (name === undefined)
|
|
180
|
-
return undefined;
|
|
186
|
+
function afterEdit(model, id, locale) {
|
|
181
187
|
return async () => {
|
|
182
188
|
const template = await model.get(id);
|
|
183
189
|
if (!template)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates-table.js","sourceRoot":"","sources":["../../src/data/templates-table.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"templates-table.js","sourceRoot":"","sources":["../../src/data/templates-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DataType } from "@antelopejs/interface-dms/base/data-types";
|
|
2
2
|
export declare class TemplateCategoriesType extends DataType {
|
|
3
|
-
|
|
4
|
-
constructor(options?: Record<string, unknown>);
|
|
3
|
+
constructor();
|
|
5
4
|
protected defaultInputComponent(): import("@antelopejs/interface-dms").ComponentInfoSerialized<unknown>;
|
|
6
5
|
getValidation(): import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodObject<{
|
|
7
6
|
id: import("zod").ZodString;
|
|
@@ -15,10 +15,8 @@ const data_types_1 = require("@antelopejs/interface-dms/base/data-types");
|
|
|
15
15
|
const constants_1 = require("../constants");
|
|
16
16
|
const settings_schema_1 = require("../validation/settings.schema");
|
|
17
17
|
let TemplateCategoriesType = class TemplateCategoriesType extends data_types_1.DataType {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
super([], undefined, options);
|
|
21
|
-
this.options = options;
|
|
18
|
+
constructor() {
|
|
19
|
+
super([], undefined, {});
|
|
22
20
|
}
|
|
23
21
|
defaultInputComponent() {
|
|
24
22
|
return (0, custom_1.CustomComponent)("MailingCategoriesInput")
|
|
@@ -32,6 +30,6 @@ let TemplateCategoriesType = class TemplateCategoriesType extends data_types_1.D
|
|
|
32
30
|
exports.TemplateCategoriesType = TemplateCategoriesType;
|
|
33
31
|
exports.TemplateCategoriesType = TemplateCategoriesType = __decorate([
|
|
34
32
|
(0, data_types_1.RegisterDataType)(constants_1.TEMPLATE_CATEGORIES_TYPE_ID),
|
|
35
|
-
__metadata("design:paramtypes", [
|
|
33
|
+
__metadata("design:paramtypes", [])
|
|
36
34
|
], TemplateCategoriesType);
|
|
37
35
|
//# sourceMappingURL=categories-type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories-type.js","sourceRoot":"","sources":["../../src/data-types/categories-type.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAwE;AACxE,0EAGmD;AACnD,4CAA2D;AAC3D,mEAAiE;AAO1D,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,qBAAQ;
|
|
1
|
+
{"version":3,"file":"categories-type.js","sourceRoot":"","sources":["../../src/data-types/categories-type.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAwE;AACxE,0EAGmD;AACnD,4CAA2D;AAC3D,mEAAiE;AAO1D,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,qBAAQ;IAClD;QACE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3B,CAAC;IAES,qBAAqB;QAC7B,OAAO,IAAA,wBAAe,EAAC,wBAAwB,CAAC;aAC7C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;aACrB,aAAa,EAAE,CAAC;IACrB,CAAC;IAED,aAAa;QACX,OAAO,kCAAgB,CAAC;IAC1B,CAAC;CACF,CAAA;AAdY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,6BAAgB,EAAC,uCAA2B,CAAC;;GACjC,sBAAsB,CAclC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { DataType } from "@antelopejs/interface-dms/base/data-types";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
export declare class TemplateCategoryType extends DataType {
|
|
4
|
-
|
|
5
|
-
constructor(options?: Record<string, unknown>);
|
|
4
|
+
constructor();
|
|
6
5
|
protected defaultInputComponent(): import("@antelopejs/interface-dms").ComponentInfoSerialized<unknown>;
|
|
7
6
|
getValidation(): z.ZodOptional<z.ZodString>;
|
|
8
7
|
}
|