@antelopejs/dms-mailing 0.6.1 → 0.7.1
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 +8 -7
- package/dist/constants.d.ts +1 -2
- package/dist/constants.js +2 -3
- package/dist/constants.js.map +1 -1
- package/dist/data/templates-table.d.ts +4 -1
- package/dist/data/templates-table.js +55 -20
- package/dist/data/templates-table.js.map +1 -1
- package/dist/data-types/categories-type.d.ts +5 -5
- package/dist/db/models/index.d.ts +0 -1
- package/dist/db/models/index.js +0 -1
- package/dist/db/models/index.js.map +1 -1
- package/dist/db/models/send-events.model.js +2 -3
- package/dist/db/models/send-events.model.js.map +1 -1
- package/dist/db/models/sends.model.js +2 -3
- package/dist/db/models/sends.model.js.map +1 -1
- package/dist/db/models/templates.model.d.ts +10 -1
- package/dist/db/models/templates.model.js +29 -10
- package/dist/db/models/templates.model.js.map +1 -1
- package/dist/db/tables/index.d.ts +0 -1
- package/dist/db/tables/index.js +0 -1
- package/dist/db/tables/index.js.map +1 -1
- package/dist/db/tables/settings.table.d.ts +0 -1
- package/dist/db/tables/settings.table.js +0 -4
- package/dist/db/tables/settings.table.js.map +1 -1
- package/dist/db/tables/templates.table.d.ts +7 -4
- package/dist/db/tables/templates.table.js +4 -14
- package/dist/db/tables/templates.table.js.map +1 -1
- package/dist/engine/formats.d.ts +13 -0
- package/dist/engine/formats.js +85 -0
- package/dist/engine/formats.js.map +1 -0
- package/dist/engine/index.d.ts +1 -0
- package/dist/engine/index.js +1 -0
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/resolve.d.ts +2 -1
- package/dist/engine/resolve.js +14 -7
- package/dist/engine/resolve.js.map +1 -1
- package/dist/engine/tokens.d.ts +2 -1
- package/dist/engine/tokens.js +3 -5
- package/dist/engine/tokens.js.map +1 -1
- package/dist/frontend-module.d.ts +2 -0
- package/dist/frontend-module.js +24 -0
- package/dist/frontend-module.js.map +1 -0
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/index.js +0 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/tenant-export.js +4 -1
- package/dist/hooks/tenant-export.js.map +1 -1
- package/dist/implementations/dms-mailing/index.d.ts +3 -3
- package/dist/implementations/dms-mailing/index.js +8 -7
- package/dist/implementations/dms-mailing/index.js.map +1 -1
- package/dist/index.js +2 -20
- package/dist/index.js.map +1 -1
- package/dist/pages/overview.d.ts +1 -1
- package/dist/pages/overview.js +11 -13
- package/dist/pages/overview.js.map +1 -1
- package/dist/pages/sends.d.ts +1 -1
- package/dist/pages/sends.js +16 -8
- package/dist/pages/sends.js.map +1 -1
- package/dist/pages/settings/form.js +8 -0
- package/dist/pages/settings/form.js.map +1 -1
- package/dist/pages/templates.js +3 -8
- package/dist/pages/templates.js.map +1 -1
- package/dist/pages/toolbar.d.ts +12 -0
- package/dist/pages/toolbar.js +41 -0
- package/dist/pages/toolbar.js.map +1 -0
- package/dist/realtime.d.ts +2 -2
- package/dist/realtime.js +8 -8
- package/dist/realtime.js.map +1 -1
- package/dist/routes/metrics.d.ts +9 -2
- package/dist/routes/metrics.js +90 -35
- package/dist/routes/metrics.js.map +1 -1
- package/dist/routes/period.d.ts +1 -0
- package/dist/routes/period.js +19 -0
- package/dist/routes/period.js.map +1 -1
- package/dist/routes/sends.js +6 -3
- package/dist/routes/sends.js.map +1 -1
- package/dist/routes/settings.js +6 -7
- package/dist/routes/settings.js.map +1 -1
- package/dist/routes/templates.d.ts +8 -4
- package/dist/routes/templates.js +41 -20
- package/dist/routes/templates.js.map +1 -1
- package/dist/services/categories.d.ts +2 -1
- package/dist/services/categories.js +9 -0
- package/dist/services/categories.js.map +1 -1
- package/dist/services/declarations.js +42 -184
- package/dist/services/declarations.js.map +1 -1
- package/dist/services/events.js +1 -1
- package/dist/services/events.js.map +1 -1
- package/dist/services/localized-text.d.ts +7 -0
- package/dist/services/localized-text.js +28 -0
- package/dist/services/localized-text.js.map +1 -0
- package/dist/services/send-import.js +0 -2
- package/dist/services/send-import.js.map +1 -1
- package/dist/services/send-stat-items.js +34 -12
- package/dist/services/send-stat-items.js.map +1 -1
- package/dist/services/send-stats.d.ts +7 -0
- package/dist/services/send-stats.js +17 -5
- package/dist/services/send-stats.js.map +1 -1
- package/dist/services/send.d.ts +2 -0
- package/dist/services/send.js +11 -12
- package/dist/services/send.js.map +1 -1
- package/dist/services/sender-declaration.d.ts +2 -0
- package/dist/services/sender-declaration.js +18 -0
- package/dist/services/sender-declaration.js.map +1 -0
- package/dist/services/settings.d.ts +1 -1
- package/dist/services/settings.js +1 -5
- package/dist/services/settings.js.map +1 -1
- package/dist/services/starters.d.ts +2 -2
- package/dist/services/starters.js +1 -10
- package/dist/services/starters.js.map +1 -1
- package/dist/services/templates.d.ts +13 -7
- package/dist/services/templates.js +72 -33
- package/dist/services/templates.js.map +1 -1
- package/dist/services/webhook-status.d.ts +2 -1
- package/dist/services/webhook-status.js +6 -5
- package/dist/services/webhook-status.js.map +1 -1
- package/dist/types/settings.d.ts +8 -0
- package/dist/types/settings.js +33 -6
- package/dist/types/settings.js.map +1 -1
- package/dist/validation/declarations.schema.d.ts +25 -7
- package/dist/validation/declarations.schema.js +16 -3
- package/dist/validation/declarations.schema.js.map +1 -1
- package/dist/validation/settings.schema.d.ts +41 -41
- package/dist/validation/settings.schema.js +30 -6
- package/dist/validation/settings.schema.js.map +1 -1
- package/dist/validation/templates.schema.d.ts +13 -0
- package/dist/validation/templates.schema.js +6 -1
- package/dist/validation/templates.schema.js.map +1 -1
- package/frontend-vue/app/components/CategoriesInput.vue +15 -13
- package/frontend-vue/app/components/FunnelCard.vue +46 -3
- package/frontend-vue/app/components/NewTemplateModal.vue +4 -2
- package/frontend-vue/app/components/OverviewGate.vue +0 -8
- package/frontend-vue/app/components/ProviderPill.vue +50 -0
- package/frontend-vue/app/components/SendDrawer.vue +206 -183
- package/frontend-vue/app/components/StarterGallery.vue +1 -1
- package/frontend-vue/app/components/TemplateCard.vue +4 -1
- package/frontend-vue/app/components/TemplateDrawer.vue +3 -5
- package/frontend-vue/app/components/TemplateGallery.vue +57 -17
- package/frontend-vue/app/components/TemplatePreviewFrame.vue +41 -11
- package/frontend-vue/app/components/editor/EditorTemplatePane.vue +1 -3
- package/frontend-vue/app/components/editor/EditorTitle.vue +1 -7
- package/frontend-vue/app/composables/useLocalizedDefaults.ts +5 -7
- package/frontend-vue/app/composables/useMailingApi.ts +3 -3
- package/frontend-vue/app/composables/useMailingReads.ts +2 -2
- package/frontend-vue/app/composables/useTemplateCategories.ts +8 -7
- package/frontend-vue/app/types/mailing.ts +18 -0
- package/frontend-vue/app/utils/categories.ts +58 -49
- package/frontend-vue/app/utils/funnel.ts +25 -0
- package/frontend-vue/app/utils/period.ts +0 -7
- package/frontend-vue/app/utils/starters.ts +3 -1
- package/frontend-vue/app/utils/tokens.ts +6 -1
- package/frontend-vue/i18n/locales/mailing-en-GB.json +19 -28
- package/frontend-vue/i18n/locales/mailing-fr-FR.json +19 -28
- package/frontend-vue/package.json +1 -1
- package/frontend-vue/tests/categories-input.test.ts +4 -10
- package/frontend-vue/tests/categories.test.ts +55 -17
- package/frontend-vue/tests/conditions.test.ts +1 -4
- package/frontend-vue/tests/funnel-card.test.ts +27 -0
- package/frontend-vue/tests/funnel.test.ts +25 -0
- package/frontend-vue/tests/localized-defaults.test.ts +0 -29
- package/frontend-vue/tests/new-template-modal.test.ts +1 -1
- package/frontend-vue/tests/overview-gate.test.ts +1 -24
- package/frontend-vue/tests/page-reads.test.ts +9 -25
- package/frontend-vue/tests/period.test.ts +0 -12
- package/frontend-vue/tests/replay-toast.test.ts +2 -1
- package/frontend-vue/tests/send-drawer.test.ts +123 -0
- package/frontend-vue/tests/template-drawer.test.ts +1 -1
- package/frontend-vue/tests/template-gallery.test.ts +90 -3
- package/frontend-vue/tests/template-preview-frame.test.ts +92 -0
- package/package.json +8 -7
- package/skills/dms-mailing/SKILL.md +25 -18
- package/src/constants.ts +2 -2
- package/src/data/sends-table.ts +1 -1
- package/src/data/templates-table.ts +125 -33
- package/src/db/models/index.ts +0 -1
- package/src/db/models/send-events.model.ts +2 -2
- package/src/db/models/sends.model.ts +7 -8
- package/src/db/models/templates.model.ts +64 -16
- package/src/db/tables/index.ts +0 -1
- package/src/db/tables/settings.table.ts +0 -8
- package/src/db/tables/templates.table.ts +12 -17
- package/src/engine/formats.ts +124 -0
- package/src/engine/index.ts +1 -0
- package/src/engine/resolve.ts +18 -7
- package/src/engine/tokens.ts +7 -5
- package/src/frontend-module.ts +36 -0
- package/src/hooks/index.ts +0 -1
- package/src/hooks/tenant-export.ts +8 -1
- package/src/implementations/dms-mailing/index.ts +5 -16
- package/src/index.ts +3 -29
- package/src/pages/overview.ts +20 -16
- package/src/pages/sends.ts +27 -11
- package/src/pages/settings/form.ts +16 -0
- package/src/pages/templates.ts +4 -8
- package/src/pages/toolbar.ts +77 -0
- package/src/realtime.ts +17 -8
- package/src/routes/metrics.ts +158 -45
- package/src/routes/period.ts +32 -0
- package/src/routes/sends.ts +13 -4
- package/src/routes/settings.ts +11 -8
- package/src/routes/templates.ts +81 -37
- package/src/services/categories.ts +14 -1
- package/src/services/declarations.ts +64 -317
- package/src/services/events.ts +1 -1
- package/src/services/localized-text.ts +53 -0
- package/src/services/send-import.ts +2 -2
- package/src/services/send-stat-items.ts +60 -13
- package/src/services/send-stats.ts +37 -5
- package/src/services/send.ts +19 -20
- package/src/services/sender-declaration.ts +27 -0
- package/src/services/settings.ts +3 -10
- package/src/services/starters.ts +3 -15
- package/src/services/templates.ts +109 -63
- package/src/services/webhook-status.ts +3 -3
- package/src/types/settings.ts +55 -5
- package/src/validation/declarations.schema.ts +29 -3
- package/src/validation/settings.schema.ts +56 -14
- package/src/validation/templates.schema.ts +10 -0
- package/dist/db/models/template-slugs.model.d.ts +0 -27
- package/dist/db/models/template-slugs.model.js +0 -43
- package/dist/db/models/template-slugs.model.js.map +0 -1
- package/dist/db/tables/template-slugs.table.d.ts +0 -7
- package/dist/db/tables/template-slugs.table.js +0 -35
- package/dist/db/tables/template-slugs.table.js.map +0 -1
- package/dist/hooks/database-ready.d.ts +0 -7
- package/dist/hooks/database-ready.js +0 -26
- package/dist/hooks/database-ready.js.map +0 -1
- package/dist/services/fingerprint.d.ts +0 -1
- package/dist/services/fingerprint.js +0 -20
- package/dist/services/fingerprint.js.map +0 -1
- package/frontend-vue/app/components/PageHeader.vue +0 -94
- package/frontend-vue/app/composables/useOverviewSetup.ts +0 -21
- package/src/db/models/template-slugs.model.ts +0 -61
- package/src/db/tables/template-slugs.table.ts +0 -29
- package/src/hooks/database-ready.ts +0 -47
- package/src/services/fingerprint.ts +0 -22
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { Table } from "@antelopejs/interface-database-decorators";
|
|
2
2
|
import type { TemplateStatus } from "../../types";
|
|
3
3
|
export declare const MAILING_TEMPLATES_TABLE_NAME = "mailing_templates";
|
|
4
|
-
|
|
4
|
+
declare const MailingTemplate_base: import("@antelopejs/interface-database-decorators").TableClass<Table & {
|
|
5
|
+
localize<This extends {
|
|
6
|
+
constructor: any;
|
|
7
|
+
}>(this: This, locale: string, fields?: Array<keyof This>): This;
|
|
8
|
+
}, [], object>;
|
|
9
|
+
export declare class MailingTemplate extends MailingTemplate_base {
|
|
5
10
|
_id: string;
|
|
6
11
|
createdAt: Date;
|
|
7
12
|
updatedAt: Date;
|
|
@@ -26,9 +31,7 @@ export declare class MailingTemplate extends Table {
|
|
|
26
31
|
attention: string;
|
|
27
32
|
needsAttention: boolean;
|
|
28
33
|
unpublishedAt?: Date;
|
|
29
|
-
declaredHash?: string;
|
|
30
34
|
revision?: string;
|
|
31
|
-
declarationSeedRevision?: string;
|
|
32
|
-
pendingDeclaredHash?: string;
|
|
33
35
|
json_published_version?: string;
|
|
34
36
|
}
|
|
37
|
+
export {};
|
|
@@ -13,8 +13,9 @@ exports.MailingTemplate = exports.MAILING_TEMPLATES_TABLE_NAME = void 0;
|
|
|
13
13
|
const node_crypto_1 = require("node:crypto");
|
|
14
14
|
const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
|
|
15
15
|
const constants_1 = require("@antelopejs/interface-dms/constants");
|
|
16
|
+
const interface_dms_mailing_1 = require("@antelopejs/interface-dms-mailing");
|
|
16
17
|
exports.MAILING_TEMPLATES_TABLE_NAME = "mailing_templates";
|
|
17
|
-
let MailingTemplate = class MailingTemplate extends interface_database_decorators_1.Table {
|
|
18
|
+
let MailingTemplate = class MailingTemplate extends interface_database_decorators_1.Table.with(interface_database_decorators_1.LocalizationModifier) {
|
|
18
19
|
};
|
|
19
20
|
exports.MailingTemplate = MailingTemplate;
|
|
20
21
|
__decorate([
|
|
@@ -33,11 +34,12 @@ __decorate([
|
|
|
33
34
|
__metadata("design:type", Date)
|
|
34
35
|
], MailingTemplate.prototype, "updatedAt", void 0);
|
|
35
36
|
__decorate([
|
|
36
|
-
(0, interface_database_decorators_1.Index)(),
|
|
37
|
+
(0, interface_database_decorators_1.Index)({ unique: true }),
|
|
37
38
|
(0, interface_database_decorators_1.Field)("string"),
|
|
38
39
|
__metadata("design:type", String)
|
|
39
40
|
], MailingTemplate.prototype, "slug", void 0);
|
|
40
41
|
__decorate([
|
|
42
|
+
(0, interface_database_decorators_1.Localized)({ fallbackLocale: interface_dms_mailing_1.LOCALIZED_TEXT_FALLBACK_LOCALE }),
|
|
41
43
|
(0, interface_database_decorators_1.Field)("string"),
|
|
42
44
|
__metadata("design:type", String)
|
|
43
45
|
], MailingTemplate.prototype, "name", void 0);
|
|
@@ -120,22 +122,10 @@ __decorate([
|
|
|
120
122
|
(0, interface_database_decorators_1.Field)("date"),
|
|
121
123
|
__metadata("design:type", Date)
|
|
122
124
|
], MailingTemplate.prototype, "unpublishedAt", void 0);
|
|
123
|
-
__decorate([
|
|
124
|
-
(0, interface_database_decorators_1.Field)("string"),
|
|
125
|
-
__metadata("design:type", String)
|
|
126
|
-
], MailingTemplate.prototype, "declaredHash", void 0);
|
|
127
125
|
__decorate([
|
|
128
126
|
(0, interface_database_decorators_1.Field)("string"),
|
|
129
127
|
__metadata("design:type", String)
|
|
130
128
|
], MailingTemplate.prototype, "revision", void 0);
|
|
131
|
-
__decorate([
|
|
132
|
-
(0, interface_database_decorators_1.Field)("string"),
|
|
133
|
-
__metadata("design:type", String)
|
|
134
|
-
], MailingTemplate.prototype, "declarationSeedRevision", void 0);
|
|
135
|
-
__decorate([
|
|
136
|
-
(0, interface_database_decorators_1.Field)("string"),
|
|
137
|
-
__metadata("design:type", String)
|
|
138
|
-
], MailingTemplate.prototype, "pendingDeclaredHash", void 0);
|
|
139
129
|
__decorate([
|
|
140
130
|
(0, interface_database_decorators_1.Field)("string"),
|
|
141
131
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.table.js","sourceRoot":"","sources":["../../../src/db/tables/templates.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"templates.table.js","sourceRoot":"","sources":["../../../src/db/tables/templates.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAyC;AACzC,6FAWmD;AACnD,mEAAyE;AACzE,6EAAmF;AAGtE,QAAA,4BAA4B,GAAG,mBAAmB,CAAC;AAGzD,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,qCAAK,CAAC,IAAI,CAAC,oDAAoB,CAAC;CAsIpE,CAAA;AAtIY,0CAAe;AAElB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;4CACI;AAIZ;IAFP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;kDAAC;AAKhB;IAHP,IAAA,qCAAK,GAAE;IACP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;kDAAC;AAKhB;IAFP,IAAA,qCAAK,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvB,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACK;AASb;IAFP,IAAA,yCAAS,EAAC,EAAE,cAAc,EAAE,sDAA8B,EAAE,CAAC;IAC7D,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACK;AAIb;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACS;AAIjB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACe;AAOvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qDACa;AAOrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACY;AAIpB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;uDACgB;AAGzB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACW,IAAI;uDAAC;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uDACgB;AAOxB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sDACc;AAItB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;yDACiB;AAGzB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDACa;AAQrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uDACe;AAOvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6DACsB;AAI9B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uDACe;AASvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;gDACQ;AAGhB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACU;AAGlB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACQ,IAAI;oDAAC;AAQnB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACU;AAKlB;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,SAAS,CAAC;;uDACe;AAIxB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACU,IAAI;sDAAC;AAIrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDACU;AAOlB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+DACwB;0BArI7B,eAAe;IAD3B,IAAA,6CAAa,EAAC,oCAA4B,EAAE,8BAAkB,CAAC;GACnD,eAAe,CAsI3B;AAGD,MAAM,wBAAyB,SAAQ,wCAAQ;IAC7C,MAAM,CAAC,MAA+B,EAAE,KAAa;QACnD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,wBAAU,GAAE,CAAC;IAC/B,CAAC;CACF;AAED,IAAA,8CAAc,EAAC,eAAe,EAAE,wBAAwB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { VariableDefinition } from "../types";
|
|
2
|
+
export interface MoneyValue {
|
|
3
|
+
value: number;
|
|
4
|
+
currency: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ValueFormat {
|
|
7
|
+
locale: string;
|
|
8
|
+
datePaths: Set<string>;
|
|
9
|
+
}
|
|
10
|
+
export declare function formattingLocale(locale: string): string;
|
|
11
|
+
export declare function valueFormatOf(locale: string, variables?: VariableDefinition[]): ValueFormat;
|
|
12
|
+
export declare function isMoneyValue(value: unknown): value is MoneyValue;
|
|
13
|
+
export declare function formatValue(value: unknown, path?: string, format?: ValueFormat): string;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formattingLocale = formattingLocale;
|
|
4
|
+
exports.valueFormatOf = valueFormatOf;
|
|
5
|
+
exports.isMoneyValue = isMoneyValue;
|
|
6
|
+
exports.formatValue = formatValue;
|
|
7
|
+
const FALLBACK_LOCALE = "en";
|
|
8
|
+
const DATE_STYLE = { dateStyle: "long" };
|
|
9
|
+
const UTC_DATE_STYLE = {
|
|
10
|
+
...DATE_STYLE,
|
|
11
|
+
timeZone: "UTC",
|
|
12
|
+
};
|
|
13
|
+
const ISO_DAY = /^\d{4}-\d{2}-\d{2}$/;
|
|
14
|
+
const ISO_DATE_TIME = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/;
|
|
15
|
+
const DECIMAL_BASE = 10;
|
|
16
|
+
const DATE_TYPE = "date";
|
|
17
|
+
function formattingLocale(locale) {
|
|
18
|
+
try {
|
|
19
|
+
return Intl.NumberFormat.supportedLocalesOf(locale)[0] ?? FALLBACK_LOCALE;
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return FALLBACK_LOCALE;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function valueFormatOf(locale, variables = []) {
|
|
26
|
+
return {
|
|
27
|
+
locale: formattingLocale(locale),
|
|
28
|
+
datePaths: new Set(variables
|
|
29
|
+
.filter((variable) => variable.type === DATE_TYPE)
|
|
30
|
+
.map((variable) => variable.path)),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function isMoneyValue(value) {
|
|
34
|
+
if (!value || typeof value !== "object")
|
|
35
|
+
return false;
|
|
36
|
+
const candidate = value;
|
|
37
|
+
return (typeof candidate.value === "number" &&
|
|
38
|
+
Number.isFinite(candidate.value) &&
|
|
39
|
+
typeof candidate.currency === "string");
|
|
40
|
+
}
|
|
41
|
+
function formatMoney(money, locale) {
|
|
42
|
+
try {
|
|
43
|
+
const currency = new Intl.NumberFormat(locale, {
|
|
44
|
+
style: "currency",
|
|
45
|
+
currency: money.currency,
|
|
46
|
+
});
|
|
47
|
+
const digits = currency.resolvedOptions().maximumFractionDigits ?? 0;
|
|
48
|
+
return currency.format(money.value / DECIMAL_BASE ** digits);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return new Intl.NumberFormat(locale).format(money.value);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function formatDate(date, options, locale) {
|
|
55
|
+
return new Intl.DateTimeFormat(locale, options).format(date);
|
|
56
|
+
}
|
|
57
|
+
function isoDateOptions(value) {
|
|
58
|
+
if (ISO_DAY.test(value))
|
|
59
|
+
return UTC_DATE_STYLE;
|
|
60
|
+
if (ISO_DATE_TIME.test(value))
|
|
61
|
+
return DATE_STYLE;
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
function formatIsoDate(value, locale) {
|
|
65
|
+
const options = isoDateOptions(value);
|
|
66
|
+
if (!options)
|
|
67
|
+
return null;
|
|
68
|
+
const date = new Date(value);
|
|
69
|
+
return Number.isNaN(date.getTime())
|
|
70
|
+
? null
|
|
71
|
+
: formatDate(date, options, locale);
|
|
72
|
+
}
|
|
73
|
+
function formatValue(value, path = "", format) {
|
|
74
|
+
const locale = format?.locale ?? FALLBACK_LOCALE;
|
|
75
|
+
if (isMoneyValue(value))
|
|
76
|
+
return formatMoney(value, locale);
|
|
77
|
+
if (value instanceof Date)
|
|
78
|
+
return Number.isNaN(value.getTime())
|
|
79
|
+
? String(value)
|
|
80
|
+
: formatDate(value, DATE_STYLE, locale);
|
|
81
|
+
if (typeof value === "string" && format?.datePaths.has(path))
|
|
82
|
+
return formatIsoDate(value, locale) ?? value;
|
|
83
|
+
return String(value);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=formats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/engine/formats.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/index.d.ts
CHANGED
package/dist/engine/index.js
CHANGED
|
@@ -18,6 +18,7 @@ __exportStar(require("./changes"), exports);
|
|
|
18
18
|
__exportStar(require("./conditions"), exports);
|
|
19
19
|
__exportStar(require("./coverage"), exports);
|
|
20
20
|
__exportStar(require("./fallback-html"), exports);
|
|
21
|
+
__exportStar(require("./formats"), exports);
|
|
21
22
|
__exportStar(require("./paths"), exports);
|
|
22
23
|
__exportStar(require("./plain-text"), exports);
|
|
23
24
|
__exportStar(require("./resolve"), exports);
|
package/dist/engine/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,6CAA2B;AAC3B,kDAAgC;AAChC,0CAAwB;AACxB,+CAA6B;AAC7B,4CAA0B;AAC1B,qDAAmC;AACnC,2CAAyB;AACzB,yCAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,6CAA2B;AAC3B,kDAAgC;AAChC,4CAA0B;AAC1B,0CAAwB;AACxB,+CAA6B;AAC7B,4CAA0B;AAC1B,qDAAmC;AACnC,2CAAyB;AACzB,yCAAuB"}
|
package/dist/engine/resolve.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { LocaleContent, ResolvedEmail } from "../types";
|
|
2
|
+
import { type ValueFormat } from "./formats";
|
|
2
3
|
import { type InterpolationMode } from "./tokens";
|
|
3
4
|
type Data = Record<string, unknown>;
|
|
4
|
-
export declare function resolveEmail(content: LocaleContent, data: Data, mode?: InterpolationMode): ResolvedEmail;
|
|
5
|
+
export declare function resolveEmail(content: LocaleContent, data: Data, mode?: InterpolationMode, format?: ValueFormat): ResolvedEmail;
|
|
5
6
|
export {};
|
package/dist/engine/resolve.js
CHANGED
|
@@ -4,12 +4,13 @@ exports.resolveEmail = resolveEmail;
|
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
const conditions_1 = require("./conditions");
|
|
6
6
|
const fallback_html_1 = require("./fallback-html");
|
|
7
|
+
const formats_1 = require("./formats");
|
|
7
8
|
const paths_1 = require("./paths");
|
|
8
9
|
const system_variables_1 = require("./system-variables");
|
|
9
10
|
const tokens_1 = require("./tokens");
|
|
10
11
|
const BLOCKED_IMAGE = "";
|
|
11
12
|
function text(state, value) {
|
|
12
|
-
const result = (0, tokens_1.interpolate)(value, state.data, state.mode);
|
|
13
|
+
const result = (0, tokens_1.interpolate)(value, state.data, state.mode, state.format);
|
|
13
14
|
for (const path of result.missing)
|
|
14
15
|
state.missing.add(path);
|
|
15
16
|
return result.text;
|
|
@@ -23,9 +24,9 @@ function systemUrl(state, block, path) {
|
|
|
23
24
|
const value = (0, paths_1.getPath)(state.data, path);
|
|
24
25
|
return (0, paths_1.isPresent)(value) ? (0, fallback_html_1.safeUrl)(String(value)) : "";
|
|
25
26
|
}
|
|
26
|
-
function cell(item, path) {
|
|
27
|
+
function cell(item, path, state) {
|
|
27
28
|
const value = (0, paths_1.getPath)(item, path);
|
|
28
|
-
return (0, paths_1.isPresent)(value) ?
|
|
29
|
+
return (0, paths_1.isPresent)(value) ? (0, formats_1.formatValue)(value, "", state.format) : "";
|
|
29
30
|
}
|
|
30
31
|
function listRows(block, state) {
|
|
31
32
|
const source = (0, paths_1.getPath)(state.data, block.source);
|
|
@@ -34,8 +35,8 @@ function listRows(block, state) {
|
|
|
34
35
|
return [];
|
|
35
36
|
}
|
|
36
37
|
return source.map((item) => ({
|
|
37
|
-
label: cell(item, block.labelPath),
|
|
38
|
-
value: cell(item, block.valuePath),
|
|
38
|
+
label: cell(item, block.labelPath, state),
|
|
39
|
+
value: cell(item, block.valuePath, state),
|
|
39
40
|
}));
|
|
40
41
|
}
|
|
41
42
|
function branch(block, state) {
|
|
@@ -131,8 +132,14 @@ function resolveBlocks(blocks, state) {
|
|
|
131
132
|
});
|
|
132
133
|
}
|
|
133
134
|
const isUserPath = (path) => !constants_1.SYSTEM_VARIABLE_PATHS.includes(path);
|
|
134
|
-
function resolveEmail(content, data, mode = "preview") {
|
|
135
|
-
const state = {
|
|
135
|
+
function resolveEmail(content, data, mode = "preview", format) {
|
|
136
|
+
const state = {
|
|
137
|
+
data,
|
|
138
|
+
mode,
|
|
139
|
+
missing: new Set(),
|
|
140
|
+
hidden: [],
|
|
141
|
+
format,
|
|
142
|
+
};
|
|
136
143
|
const subject = text(state, content.subject);
|
|
137
144
|
const preheader = text(state, content.preheader);
|
|
138
145
|
const blocks = resolveBlocks(content.blocks, state);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/engine/resolve.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/engine/resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/tokens.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ValueFormat } from "./formats";
|
|
1
2
|
export declare const TOKEN_PATTERN: RegExp;
|
|
2
3
|
export type InterpolationMode = "preview" | "send";
|
|
3
4
|
export interface InterpolationResult {
|
|
@@ -5,4 +6,4 @@ export interface InterpolationResult {
|
|
|
5
6
|
missing: string[];
|
|
6
7
|
}
|
|
7
8
|
export declare function extractTokens(text: string): string[];
|
|
8
|
-
export declare function interpolate(text: string, data: Record<string, unknown>, mode?: InterpolationMode): InterpolationResult;
|
|
9
|
+
export declare function interpolate(text: string, data: Record<string, unknown>, mode?: InterpolationMode, format?: ValueFormat): InterpolationResult;
|
package/dist/engine/tokens.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TOKEN_PATTERN = void 0;
|
|
4
4
|
exports.extractTokens = extractTokens;
|
|
5
5
|
exports.interpolate = interpolate;
|
|
6
|
+
const formats_1 = require("./formats");
|
|
6
7
|
const paths_1 = require("./paths");
|
|
7
8
|
exports.TOKEN_PATTERN = /\{\{\s*([A-Za-z0-9_.[\]]+)\s*\}\}/g;
|
|
8
9
|
const MISSING_TOKEN = {
|
|
@@ -15,10 +16,7 @@ function extractTokens(text) {
|
|
|
15
16
|
found.add(match[1]);
|
|
16
17
|
return [...found];
|
|
17
18
|
}
|
|
18
|
-
function
|
|
19
|
-
return value instanceof Date ? value.toISOString() : String(value);
|
|
20
|
-
}
|
|
21
|
-
function interpolate(text, data, mode = "preview") {
|
|
19
|
+
function interpolate(text, data, mode = "preview", format) {
|
|
22
20
|
const missing = new Set();
|
|
23
21
|
const output = text.replace(exports.TOKEN_PATTERN, (token, path) => {
|
|
24
22
|
const value = (0, paths_1.getPath)(data, path);
|
|
@@ -26,7 +24,7 @@ function interpolate(text, data, mode = "preview") {
|
|
|
26
24
|
missing.add(path);
|
|
27
25
|
return MISSING_TOKEN[mode](token);
|
|
28
26
|
}
|
|
29
|
-
return formatValue(value);
|
|
27
|
+
return (0, formats_1.formatValue)(value, path, format);
|
|
30
28
|
});
|
|
31
29
|
return { text: output, missing: [...missing] };
|
|
32
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/engine/tokens.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/engine/tokens.ts"],"names":[],"mappings":";;;AAqBA,sCAKC;AAMD,kCAgBC;AAhDD,uCAA0D;AAC1D,mCAA6C;AAEhC,QAAA,aAAa,GAAG,oCAAoC,CAAC;AAalE,MAAM,aAAa,GAAyD;IAC1E,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IACzB,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE;CACf,CAAC;AAEF,SAAgB,aAAa,CAAC,IAAY;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAa,CAAC;QAC9C,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAMD,SAAgB,WAAW,CACzB,IAAY,EACZ,IAA6B,EAC7B,OAA0B,SAAS,EACnC,MAAoB;IAEpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAa,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QACjE,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAA,qBAAW,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.frontendModule = frontendModule;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
const PROVIDER_WEBHOOK_ENDPOINT = {
|
|
10
|
+
path: `${constants_1.API_BASE_PATH}/events/*/*`,
|
|
11
|
+
methods: ["POST"],
|
|
12
|
+
headers: [constants_1.WEBHOOK_SECRET_HEADER],
|
|
13
|
+
};
|
|
14
|
+
function frontendModule() {
|
|
15
|
+
return {
|
|
16
|
+
name: constants_1.FRONTEND_MODULE_NAME,
|
|
17
|
+
sourcePath: node_path_1.default.join(__dirname, "../frontend-vue"),
|
|
18
|
+
renderer: { name: "vue", version: "3" },
|
|
19
|
+
options: { dmsMailing: {} },
|
|
20
|
+
priority: 0,
|
|
21
|
+
publicEndpoints: [PROVIDER_WEBHOOK_ENDPOINT],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=frontend-module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend-module.js","sourceRoot":"","sources":["../src/frontend-module.ts"],"names":[],"mappings":";;;;;AA0BA,wCASC;AAnCD,0DAA6B;AAE7B,2CAIqB;AAQrB,MAAM,yBAAyB,GAAG;IAChC,IAAI,EAAE,GAAG,yBAAa,aAAa;IACnC,OAAO,EAAE,CAAC,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,iCAAqB,CAAC;CACjC,CAAC;AAQF,SAAgB,cAAc;IAC5B,OAAO;QACL,IAAI,EAAE,gCAAoB;QAC1B,UAAU,EAAE,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC;QACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;QACvC,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QAC3B,QAAQ,EAAE,CAAC;QACX,eAAe,EAAE,CAAC,yBAAyB,CAAC;KAC7C,CAAC;AACJ,CAAC"}
|
package/dist/hooks/index.d.ts
CHANGED
package/dist/hooks/index.js
CHANGED
|
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./database-ready"), exports);
|
|
18
17
|
__exportStar(require("./tenant-export"), exports);
|
|
19
18
|
//# sourceMappingURL=index.js.map
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC"}
|
|
@@ -57,6 +57,9 @@ async function loadPage(table, codec, offset, size) {
|
|
|
57
57
|
.map((row) => codec.fromDatabase(row))
|
|
58
58
|
.filter((row) => row !== undefined);
|
|
59
59
|
}
|
|
60
|
+
const templateCodec = {
|
|
61
|
+
fromDatabase: (row) => db_1.TemplateModel.fromDatabase(row)?.localize("*", ["name"]),
|
|
62
|
+
};
|
|
60
63
|
function exportedCollections(tenantId) {
|
|
61
64
|
const templates = (0, interface_database_decorators_1.GetModel)(db_1.TemplateModel, tenantId);
|
|
62
65
|
const versions = (0, interface_database_decorators_1.GetModel)(db_1.TemplateVersionModel, tenantId);
|
|
@@ -64,7 +67,7 @@ function exportedCollections(tenantId) {
|
|
|
64
67
|
return [
|
|
65
68
|
{
|
|
66
69
|
entry: TEMPLATES_ENTRY,
|
|
67
|
-
load: (offset, size) => loadPage(templates.table,
|
|
70
|
+
load: (offset, size) => loadPage(templates.table, templateCodec, offset, size),
|
|
68
71
|
},
|
|
69
72
|
{
|
|
70
73
|
entry: TEMPLATE_VERSIONS_ENTRY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-export.js","sourceRoot":"","sources":["../../src/hooks/tenant-export.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"tenant-export.js","sourceRoot":"","sources":["../../src/hooks/tenant-export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
export { declareTemplate as DeclareTemplate, declareTemplateCategory as DeclareTemplateCategory, } from "../../services/declarations";
|
|
2
|
+
export { importSends as ImportSends } from "../../services/send-import";
|
|
3
|
+
export { declareSender as DeclareSender } from "../../services/sender-declaration";
|
|
1
4
|
export { recordEmailEvent as RecordEmailEvent } from "../../services/events";
|
|
2
5
|
export { sendUnlessSuppressed as SendTemplate } from "../../services/checked-send";
|
|
3
|
-
export declare const DeclareTemplate: (input: import("@antelopejs/interface-dms-mailing").TemplateDeclaration) => Promise<import("@antelopejs/interface-dms-mailing").DeclareTemplateResult>;
|
|
4
|
-
export declare const DeclareTemplateCategory: (input: import("@antelopejs/interface-dms-mailing").TemplateCategoryDeclaration) => Promise<import("@antelopejs/interface-dms-mailing").DeclareTemplateCategoryResult>;
|
|
5
|
-
export declare const ImportSends: (input: import("@antelopejs/interface-dms-mailing").SendImport) => Promise<import("@antelopejs/interface-dms-mailing").ImportSendsResult>;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
exports.SendTemplate = exports.RecordEmailEvent = exports.DeclareSender = exports.ImportSends = exports.DeclareTemplateCategory = exports.DeclareTemplate = void 0;
|
|
4
|
+
var declarations_1 = require("../../services/declarations");
|
|
5
|
+
Object.defineProperty(exports, "DeclareTemplate", { enumerable: true, get: function () { return declarations_1.declareTemplate; } });
|
|
6
|
+
Object.defineProperty(exports, "DeclareTemplateCategory", { enumerable: true, get: function () { return declarations_1.declareTemplateCategory; } });
|
|
7
|
+
var send_import_1 = require("../../services/send-import");
|
|
8
|
+
Object.defineProperty(exports, "ImportSends", { enumerable: true, get: function () { return send_import_1.importSends; } });
|
|
9
|
+
var sender_declaration_1 = require("../../services/sender-declaration");
|
|
10
|
+
Object.defineProperty(exports, "DeclareSender", { enumerable: true, get: function () { return sender_declaration_1.declareSender; } });
|
|
7
11
|
var events_1 = require("../../services/events");
|
|
8
12
|
Object.defineProperty(exports, "RecordEmailEvent", { enumerable: true, get: function () { return events_1.recordEmailEvent; } });
|
|
9
13
|
var checked_send_1 = require("../../services/checked-send");
|
|
10
14
|
Object.defineProperty(exports, "SendTemplate", { enumerable: true, get: function () { return checked_send_1.sendUnlessSuppressed; } });
|
|
11
|
-
exports.DeclareTemplate = (0, database_ready_1.afterDatabaseReady)(declarations_1.declareTemplate);
|
|
12
|
-
exports.DeclareTemplateCategory = (0, database_ready_1.afterDatabaseReady)(declarations_1.declareTemplateCategory);
|
|
13
|
-
exports.ImportSends = (0, database_ready_1.afterDatabaseReady)(send_import_1.importSends);
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/implementations/dms-mailing/index.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/implementations/dms-mailing/index.ts"],"names":[],"mappings":";;;AAAA,4DAGqC;AAFnC,+GAAA,eAAe,OAAmB;AAClC,uHAAA,uBAAuB,OAA2B;AAEpD,0DAAwE;AAA/D,0GAAA,WAAW,OAAe;AACnC,wEAAmF;AAA1E,mHAAA,aAAa,OAAiB;AACvC,gDAA6E;AAApE,0GAAA,gBAAgB,OAAoB;AAC7C,4DAAmF;AAA1E,4GAAA,oBAAoB,OAAgB"}
|
package/dist/index.js
CHANGED
|
@@ -35,9 +35,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
return result;
|
|
36
36
|
};
|
|
37
37
|
})();
|
|
38
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
-
};
|
|
41
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
39
|
exports.construct = construct;
|
|
43
40
|
exports.destroy = destroy;
|
|
@@ -45,43 +42,28 @@ exports.start = start;
|
|
|
45
42
|
exports.stop = stop;
|
|
46
43
|
require("./permissions");
|
|
47
44
|
require("./db");
|
|
48
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
49
45
|
const interface_core_1 = require("@antelopejs/interface-core");
|
|
50
46
|
const page_1 = require("@antelopejs/interface-dms/page");
|
|
51
47
|
const automation_1 = require("./automation");
|
|
52
48
|
const config_1 = require("./config");
|
|
53
|
-
const constants_1 = require("./constants");
|
|
54
49
|
const crons_1 = require("./crons");
|
|
55
50
|
const hooks_1 = require("./hooks");
|
|
56
51
|
const realtime_1 = require("./realtime");
|
|
57
|
-
const
|
|
52
|
+
const frontend_module_1 = require("./frontend-module");
|
|
58
53
|
__exportStar(require("./data"), exports);
|
|
59
54
|
__exportStar(require("./data-types"), exports);
|
|
60
55
|
__exportStar(require("./pages"), exports);
|
|
61
56
|
__exportStar(require("./quick-actions"), exports);
|
|
62
57
|
__exportStar(require("./routes"), exports);
|
|
63
58
|
const CRON_JOBS = [crons_1.RETENTION_JOB, crons_1.ATTENTION_JOB];
|
|
64
|
-
const PROVIDER_WEBHOOK_ENDPOINT = {
|
|
65
|
-
path: `${constants_1.API_BASE_PATH}/events/*/*`,
|
|
66
|
-
methods: ["POST"],
|
|
67
|
-
headers: [webhook_status_1.WEBHOOK_SECRET_HEADER],
|
|
68
|
-
};
|
|
69
59
|
let scheduledJobs = [];
|
|
70
60
|
async function construct(config = {}) {
|
|
71
|
-
(0, hooks_1.registerDatabaseReady)();
|
|
72
61
|
(0, config_1.setConfig)(config);
|
|
73
62
|
(0, interface_core_1.ImplementInterface)(await Promise.resolve().then(() => __importStar(require("@antelopejs/interface-dms-mailing"))), await Promise.resolve().then(() => __importStar(require("./implementations/dms-mailing"))));
|
|
74
63
|
(0, automation_1.registerAutomationNodes)();
|
|
75
64
|
(0, hooks_1.registerTenantExport)();
|
|
76
65
|
(0, realtime_1.registerRealtimeTopics)();
|
|
77
|
-
await (0, page_1.AddFrontendModule)(
|
|
78
|
-
name: constants_1.FRONTEND_MODULE_NAME,
|
|
79
|
-
sourcePath: node_path_1.default.join(__dirname, "../frontend-vue"),
|
|
80
|
-
renderer: { name: "vue", version: "3" },
|
|
81
|
-
options: { dmsMailing: {} },
|
|
82
|
-
priority: 0,
|
|
83
|
-
publicEndpoints: [PROVIDER_WEBHOOK_ENDPOINT],
|
|
84
|
-
});
|
|
66
|
+
await (0, page_1.AddFrontendModule)((0, frontend_module_1.frontendModule)());
|
|
85
67
|
}
|
|
86
68
|
function destroy() {
|
|
87
69
|
(0, automation_1.unregisterAutomationNodes)();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,8BAUC;AAED,0BAGC;AAED,sBAEC;AAED,oBAIC;AAxDD,yBAAuB;AACvB,gBAAc;AACd,+DAAgE;AAChE,yDAAmE;AACnE,6CAGsB;AACtB,qCAA4D;AAC5D,mCAMiB;AACjB,mCAAuE;AACvE,yCAAoD;AACpD,uDAAmD;AAEnD,yCAAuB;AACvB,+CAA6B;AAC7B,0CAAwB;AACxB,kDAAgC;AAChC,2CAAyB;AAGzB,MAAM,SAAS,GAAG,CAAC,qBAAa,EAAE,qBAAa,CAAC,CAAC;AAEjD,IAAI,aAAa,GAAmB,EAAE,CAAC;AAEhC,KAAK,UAAU,SAAS,CAAC,SAA2B,EAAE;IAC3D,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;IAClB,IAAA,mCAAkB,EAChB,wDAAa,mCAAmC,GAAC,EACjD,wDAAa,+BAA+B,GAAC,CAC9C,CAAC;IACF,IAAA,oCAAuB,GAAE,CAAC;IAC1B,IAAA,4BAAoB,GAAE,CAAC;IACvB,IAAA,iCAAsB,GAAE,CAAC;IACzB,MAAM,IAAA,wBAAiB,EAAC,IAAA,gCAAc,GAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,OAAO;IACrB,IAAA,sCAAyB,GAAE,CAAC;IAC5B,IAAA,8BAAsB,GAAE,CAAC;AAC3B,CAAC;AAED,SAAgB,KAAK;IACnB,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,mBAAW,CAAC,CAAC;AAC7C,CAAC;AAEM,KAAK,UAAU,IAAI;IACxB,MAAM,IAAI,GAAG,aAAa,CAAC;IAC3B,aAAa,GAAG,EAAE,CAAC;IACnB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAO,CAAC,CAAC,CAAC;AACvC,CAAC"}
|
package/dist/pages/overview.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ declare const OverviewPageController_base: {
|
|
|
4
4
|
location: string;
|
|
5
5
|
};
|
|
6
6
|
export declare class OverviewPageController extends OverviewPageController_base {
|
|
7
|
-
static header: import("@antelopejs/interface-dms").ComponentBuilder<
|
|
7
|
+
static header: import("@antelopejs/interface-dms").ComponentBuilder<import("@antelopejs/interface-dms/base").PageToolbarProps>;
|
|
8
8
|
static dashboard: import("@antelopejs/interface-dms").ComponentBuilder<unknown>;
|
|
9
9
|
}
|
|
10
10
|
export {};
|