@antelopejs/dms-mailing 0.8.0 → 0.9.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 +41 -43
- 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/data/body.d.ts +2 -1
- package/dist/data/body.js +2 -1
- 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 +29 -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/webhook-status.model.d.ts +7 -5
- package/dist/db/tables/settings.table.d.ts +1 -0
- package/dist/db/tables/settings.table.js +4 -0
- package/dist/db/tables/settings.table.js.map +1 -1
- package/dist/db/tables/templates.table.js.map +1 -1
- package/dist/engine/changes.js +8 -19
- package/dist/engine/changes.js.map +1 -1
- package/dist/engine/conditions.d.ts +2 -1
- package/dist/engine/conditions.js +3 -2
- 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/formats.d.ts +4 -6
- package/dist/engine/formats.js +17 -3
- package/dist/engine/formats.js.map +1 -1
- package/dist/engine/paths.d.ts +4 -2
- package/dist/engine/paths.js +15 -3
- 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.map +1 -1
- package/dist/engine/tokens.d.ts +2 -1
- package/dist/engine/tokens.js.map +1 -1
- package/dist/hooks/tenant-export.d.ts +1 -1
- package/dist/hooks/tenant-export.js +10 -9
- package/dist/hooks/tenant-export.js.map +1 -1
- package/dist/implementations/dms-mailing/index.d.ts +1 -0
- package/dist/implementations/dms-mailing/index.js +3 -1
- package/dist/implementations/dms-mailing/index.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/routes/events.js +4 -2
- 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 +27 -28
- 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 +3 -4
- package/dist/routes/sends.js.map +1 -1
- package/dist/routes/settings.d.ts +4 -3
- package/dist/routes/settings.js +20 -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 +3 -2
- 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 +14 -7
- 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/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 +3 -1
- package/dist/services/events.js.map +1 -1
- package/dist/services/metrics.js +2 -5
- package/dist/services/metrics.js.map +1 -1
- package/dist/services/send-import.js +4 -4
- package/dist/services/send-import.js.map +1 -1
- package/dist/services/send.js +3 -4
- package/dist/services/send.js.map +1 -1
- package/dist/services/settings.d.ts +6 -3
- package/dist/services/settings.js +24 -5
- package/dist/services/settings.js.map +1 -1
- package/dist/services/starters.d.ts +3 -2
- package/dist/services/starters.js +1 -1
- package/dist/services/starters.js.map +1 -1
- package/dist/services/templates.d.ts +2 -1
- package/dist/services/templates.js +5 -5
- package/dist/services/templates.js.map +1 -1
- package/dist/services/webhook-secret-declaration.d.ts +4 -0
- package/dist/services/webhook-secret-declaration.js +25 -0
- package/dist/services/webhook-secret-declaration.js.map +1 -0
- package/dist/services/webhook-status.d.ts +2 -2
- package/dist/services/webhook-status.js +13 -6
- 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 +5 -2
- package/dist/types/settings.js +6 -1
- package/dist/types/settings.js.map +1 -1
- package/dist/validation/declarations.schema.d.ts +41 -28
- package/dist/validation/declarations.schema.js +10 -4
- package/dist/validation/declarations.schema.js.map +1 -1
- package/dist/validation/guards.d.ts +0 -1
- package/dist/validation/guards.js +0 -4
- package/dist/validation/guards.js.map +1 -1
- 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/templates.schema.d.ts +25 -24
- package/dist/validation/templates.schema.js +4 -3
- package/dist/validation/templates.schema.js.map +1 -1
- package/frontend-vue/app/components/editor/EditorCanvas.vue +8 -4
- package/frontend-vue/app/composables/useSortableList.ts +2 -2
- package/frontend-vue/package.json +37 -36
- package/frontend-vue/pnpm-lock.yaml +65 -5
- package/frontend-vue/tests/editor-canvas.test.ts +142 -0
- package/frontend-vue/tests/sortable-list.test-d.ts +19 -0
- package/frontend-vue/tsconfig.typecheck.json +12 -0
- package/frontend-vue/vitest.config.ts +16 -0
- package/package.json +16 -15
- package/skills/dms-mailing/SKILL.md +5 -3
- package/src/automation/email-event-trigger.ts +2 -2
- package/src/automation/send-template-action.ts +33 -14
- package/src/data/body.ts +5 -2
- package/src/data/templates-table.ts +46 -52
- 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 +5 -3
- package/src/db/tables/settings.table.ts +4 -0
- package/src/db/tables/templates.table.ts +1 -1
- package/src/engine/changes.ts +11 -29
- package/src/engine/conditions.ts +12 -4
- package/src/engine/coverage.ts +2 -1
- package/src/engine/formats.ts +31 -17
- package/src/engine/paths.ts +39 -6
- package/src/engine/plain-text.ts +2 -4
- package/src/engine/resolve.ts +12 -4
- package/src/engine/system-variables.ts +2 -1
- package/src/engine/tokens.ts +2 -1
- package/src/hooks/tenant-export.ts +15 -14
- package/src/implementations/dms-mailing/index.ts +1 -0
- package/src/pages/sends.ts +3 -2
- package/src/pages/templates.ts +3 -1
- package/src/routes/events.ts +7 -4
- package/src/routes/index.ts +1 -0
- package/src/routes/metrics.ts +30 -30
- package/src/routes/period.ts +5 -5
- package/src/routes/sends.ts +13 -8
- package/src/routes/settings.ts +34 -17
- package/src/routes/suppressions.ts +12 -8
- package/src/routes/template-content.ts +45 -0
- package/src/routes/templates.ts +11 -44
- package/src/routes/zod-json.ts +28 -0
- package/src/services/attention.ts +16 -15
- package/src/services/catalog.ts +4 -8
- package/src/services/declaration-error.ts +1 -1
- package/src/services/declarations.ts +4 -1
- package/src/services/events.ts +4 -2
- package/src/services/metrics.ts +3 -5
- package/src/services/send-import.ts +10 -8
- package/src/services/send.ts +3 -6
- package/src/services/settings.ts +55 -16
- package/src/services/starters.ts +8 -4
- package/src/services/templates.ts +16 -9
- package/src/services/webhook-secret-declaration.ts +47 -0
- package/src/services/webhook-status.ts +18 -9
- package/src/types/json.ts +1 -0
- package/src/types/settings.ts +16 -2
- package/src/validation/declarations.schema.ts +11 -3
- package/src/validation/guards.ts +0 -8
- package/src/validation/json.schema.ts +7 -0
- package/src/validation/json.ts +66 -0
- package/src/validation/templates.schema.ts +7 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.schema.js","sourceRoot":"","sources":["../../src/validation/json.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iCAAsC;AAGzB,QAAA,gBAAgB,GAAG,OAAC;KAC9B,OAAO,EAAE;KACT,MAAM,CAAC,mBAAY,EAAE,wBAAwB,CAAC,CAAC"}
|
|
@@ -95,12 +95,12 @@ export declare const variableSchema: z.ZodObject<{
|
|
|
95
95
|
type: z.ZodEnum<["string", "text", "number", "money", "date", "url", "boolean", "array"]>;
|
|
96
96
|
required: z.ZodBoolean;
|
|
97
97
|
}, "strip", z.ZodTypeAny, {
|
|
98
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
98
99
|
path: string;
|
|
99
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
100
100
|
required: boolean;
|
|
101
101
|
}, {
|
|
102
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
102
103
|
path: string;
|
|
103
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
104
104
|
required: boolean;
|
|
105
105
|
}>;
|
|
106
106
|
export declare const variableListSchema: z.ZodArray<z.ZodObject<{
|
|
@@ -108,12 +108,12 @@ export declare const variableListSchema: z.ZodArray<z.ZodObject<{
|
|
|
108
108
|
type: z.ZodEnum<["string", "text", "number", "money", "date", "url", "boolean", "array"]>;
|
|
109
109
|
required: z.ZodBoolean;
|
|
110
110
|
}, "strip", z.ZodTypeAny, {
|
|
111
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
111
112
|
path: string;
|
|
112
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
113
113
|
required: boolean;
|
|
114
114
|
}, {
|
|
115
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
115
116
|
path: string;
|
|
116
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
117
117
|
required: boolean;
|
|
118
118
|
}>, "many">;
|
|
119
119
|
export declare const variablesSchema: z.ZodObject<{
|
|
@@ -122,26 +122,26 @@ export declare const variablesSchema: z.ZodObject<{
|
|
|
122
122
|
type: z.ZodEnum<["string", "text", "number", "money", "date", "url", "boolean", "array"]>;
|
|
123
123
|
required: z.ZodBoolean;
|
|
124
124
|
}, "strip", z.ZodTypeAny, {
|
|
125
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
125
126
|
path: string;
|
|
126
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
127
127
|
required: boolean;
|
|
128
128
|
}, {
|
|
129
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
129
130
|
path: string;
|
|
130
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
131
131
|
required: boolean;
|
|
132
132
|
}>, "many">;
|
|
133
133
|
revision: z.ZodOptional<z.ZodNumber>;
|
|
134
134
|
}, "strip", z.ZodTypeAny, {
|
|
135
135
|
variables: {
|
|
136
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
136
137
|
path: string;
|
|
137
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
138
138
|
required: boolean;
|
|
139
139
|
}[];
|
|
140
140
|
revision?: number | undefined;
|
|
141
141
|
}, {
|
|
142
142
|
variables: {
|
|
143
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
143
144
|
path: string;
|
|
144
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
145
145
|
required: boolean;
|
|
146
146
|
}[];
|
|
147
147
|
revision?: number | undefined;
|
|
@@ -179,12 +179,12 @@ export declare const saveContentSchema: z.ZodObject<{
|
|
|
179
179
|
type: z.ZodEnum<["string", "text", "number", "money", "date", "url", "boolean", "array"]>;
|
|
180
180
|
required: z.ZodBoolean;
|
|
181
181
|
}, "strip", z.ZodTypeAny, {
|
|
182
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
182
183
|
path: string;
|
|
183
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
184
184
|
required: boolean;
|
|
185
185
|
}, {
|
|
186
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
186
187
|
path: string;
|
|
187
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
188
188
|
required: boolean;
|
|
189
189
|
}>, "many">>;
|
|
190
190
|
revision: z.ZodOptional<z.ZodNumber>;
|
|
@@ -198,8 +198,8 @@ export declare const saveContentSchema: z.ZodObject<{
|
|
|
198
198
|
};
|
|
199
199
|
revision?: number | undefined;
|
|
200
200
|
variables?: {
|
|
201
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
201
202
|
path: string;
|
|
202
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
203
203
|
required: boolean;
|
|
204
204
|
}[] | undefined;
|
|
205
205
|
}, {
|
|
@@ -212,17 +212,17 @@ export declare const saveContentSchema: z.ZodObject<{
|
|
|
212
212
|
};
|
|
213
213
|
revision?: number | undefined;
|
|
214
214
|
variables?: {
|
|
215
|
+
type: "string" | "number" | "boolean" | "text" | "date" | "array" | "url" | "money";
|
|
215
216
|
path: string;
|
|
216
|
-
type: "string" | "number" | "boolean" | "date" | "array" | "url" | "money" | "text";
|
|
217
217
|
required: boolean;
|
|
218
218
|
}[] | undefined;
|
|
219
219
|
}>;
|
|
220
220
|
export declare const testDataSchema: z.ZodObject<{
|
|
221
|
-
data: z.
|
|
221
|
+
data: z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>;
|
|
222
222
|
}, "strip", z.ZodTypeAny, {
|
|
223
|
-
data:
|
|
223
|
+
data: import("@antelopejs/interface-dms-mailing").JsonObject;
|
|
224
224
|
}, {
|
|
225
|
-
data
|
|
225
|
+
data?: unknown;
|
|
226
226
|
}>;
|
|
227
227
|
export declare const previewVersionSchema: z.ZodUnion<[z.ZodLiteral<"draft">, z.ZodLiteral<"published">, z.ZodNumber]>;
|
|
228
228
|
export declare const previewSchema: z.ZodObject<{
|
|
@@ -255,9 +255,10 @@ export declare const previewSchema: z.ZodObject<{
|
|
|
255
255
|
blocks: unknown[];
|
|
256
256
|
}>;
|
|
257
257
|
}>>;
|
|
258
|
-
data: z.ZodOptional<z.
|
|
258
|
+
data: z.ZodOptional<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
|
|
259
259
|
}, "strip", z.ZodTypeAny, {
|
|
260
260
|
version?: number | "draft" | "published" | undefined;
|
|
261
|
+
data?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
|
|
261
262
|
content?: {
|
|
262
263
|
locales: Record<string, {
|
|
263
264
|
subject: string;
|
|
@@ -265,10 +266,10 @@ export declare const previewSchema: z.ZodObject<{
|
|
|
265
266
|
blocks: Block[];
|
|
266
267
|
}>;
|
|
267
268
|
} | undefined;
|
|
268
|
-
data?: Record<string, unknown> | undefined;
|
|
269
269
|
locale?: string | undefined;
|
|
270
270
|
}, {
|
|
271
271
|
version?: number | "draft" | "published" | undefined;
|
|
272
|
+
data?: unknown;
|
|
272
273
|
content?: {
|
|
273
274
|
locales: Record<string, {
|
|
274
275
|
subject: string;
|
|
@@ -276,20 +277,19 @@ export declare const previewSchema: z.ZodObject<{
|
|
|
276
277
|
blocks: unknown[];
|
|
277
278
|
}>;
|
|
278
279
|
} | undefined;
|
|
279
|
-
data?: Record<string, unknown> | undefined;
|
|
280
280
|
locale?: string | undefined;
|
|
281
281
|
}>;
|
|
282
282
|
export declare const realSendSchema: z.ZodObject<{
|
|
283
283
|
to: z.ZodArray<z.ZodString, "many">;
|
|
284
284
|
locale: z.ZodOptional<z.ZodString>;
|
|
285
|
-
data: z.ZodOptional<z.
|
|
285
|
+
data: z.ZodOptional<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
|
|
286
286
|
}, "strip", z.ZodTypeAny, {
|
|
287
287
|
to: string[];
|
|
288
|
-
data?:
|
|
288
|
+
data?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
|
|
289
289
|
locale?: string | undefined;
|
|
290
290
|
}, {
|
|
291
291
|
to: string[];
|
|
292
|
-
data?:
|
|
292
|
+
data?: unknown;
|
|
293
293
|
locale?: string | undefined;
|
|
294
294
|
}>;
|
|
295
295
|
export declare const testSendSchema: z.ZodObject<{
|
|
@@ -322,12 +322,13 @@ export declare const testSendSchema: z.ZodObject<{
|
|
|
322
322
|
blocks: unknown[];
|
|
323
323
|
}>;
|
|
324
324
|
}>>;
|
|
325
|
-
data: z.ZodOptional<z.
|
|
325
|
+
data: z.ZodOptional<z.ZodEffects<z.ZodUnknown, import("@antelopejs/interface-dms-mailing").JsonObject, unknown>>;
|
|
326
326
|
} & {
|
|
327
327
|
to: z.ZodArray<z.ZodString, "many">;
|
|
328
328
|
}, "strip", z.ZodTypeAny, {
|
|
329
329
|
to: string[];
|
|
330
330
|
version?: number | "draft" | "published" | undefined;
|
|
331
|
+
data?: import("@antelopejs/interface-dms-mailing").JsonObject | undefined;
|
|
331
332
|
content?: {
|
|
332
333
|
locales: Record<string, {
|
|
333
334
|
subject: string;
|
|
@@ -335,11 +336,11 @@ export declare const testSendSchema: z.ZodObject<{
|
|
|
335
336
|
blocks: Block[];
|
|
336
337
|
}>;
|
|
337
338
|
} | undefined;
|
|
338
|
-
data?: Record<string, unknown> | undefined;
|
|
339
339
|
locale?: string | undefined;
|
|
340
340
|
}, {
|
|
341
341
|
to: string[];
|
|
342
342
|
version?: number | "draft" | "published" | undefined;
|
|
343
|
+
data?: unknown;
|
|
343
344
|
content?: {
|
|
344
345
|
locales: Record<string, {
|
|
345
346
|
subject: string;
|
|
@@ -347,7 +348,6 @@ export declare const testSendSchema: z.ZodObject<{
|
|
|
347
348
|
blocks: unknown[];
|
|
348
349
|
}>;
|
|
349
350
|
} | undefined;
|
|
350
|
-
data?: Record<string, unknown> | undefined;
|
|
351
351
|
locale?: string | undefined;
|
|
352
352
|
}>;
|
|
353
353
|
export declare const templateDetailsSchema: z.ZodObject<{
|
|
@@ -363,6 +363,7 @@ export declare const templateDetailsSchema: z.ZodObject<{
|
|
|
363
363
|
category?: string | null | undefined;
|
|
364
364
|
slug?: string | undefined;
|
|
365
365
|
}>;
|
|
366
|
+
export type TemplateDetails = z.infer<typeof templateDetailsSchema>;
|
|
366
367
|
export declare const duplicateSchema: z.ZodObject<{
|
|
367
368
|
slug: z.ZodString;
|
|
368
369
|
name: z.ZodString;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.replayFailedSchema = exports.replaySchema = exports.duplicateSchema = exports.templateDetailsSchema = exports.testSendSchema = exports.realSendSchema = exports.previewSchema = exports.previewVersionSchema = exports.testDataSchema = exports.saveContentSchema = exports.variablesSchema = exports.variableListSchema = exports.variableSchema = exports.versionNumberSchema = exports.restoreVersionSchema = exports.publishSchema = exports.draftRevisionSchema = exports.templateContentSchema = exports.localeContentSchema = exports.blockSchema = exports.conditionSchema = exports.createTemplateSchema = exports.slugSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const constants_1 = require("../constants");
|
|
6
|
+
const json_schema_1 = require("./json.schema");
|
|
6
7
|
const MIN_HEADING_SIZE = 12;
|
|
7
8
|
const MAX_HEADING_SIZE = 48;
|
|
8
9
|
const MAX_TEST_RECIPIENT_COUNT = 5;
|
|
@@ -119,7 +120,7 @@ exports.saveContentSchema = zod_1.z.object({
|
|
|
119
120
|
variables: exports.variableListSchema.optional(),
|
|
120
121
|
revision: exports.draftRevisionSchema,
|
|
121
122
|
});
|
|
122
|
-
exports.testDataSchema = zod_1.z.object({ data:
|
|
123
|
+
exports.testDataSchema = zod_1.z.object({ data: json_schema_1.jsonObjectSchema });
|
|
123
124
|
exports.previewVersionSchema = zod_1.z.union([
|
|
124
125
|
zod_1.z.literal("draft"),
|
|
125
126
|
zod_1.z.literal("published"),
|
|
@@ -129,12 +130,12 @@ exports.previewSchema = zod_1.z.object({
|
|
|
129
130
|
locale: zod_1.z.string().min(1).optional(),
|
|
130
131
|
version: exports.previewVersionSchema.optional(),
|
|
131
132
|
content: exports.templateContentSchema.optional(),
|
|
132
|
-
data:
|
|
133
|
+
data: json_schema_1.jsonObjectSchema.optional(),
|
|
133
134
|
});
|
|
134
135
|
exports.realSendSchema = zod_1.z.object({
|
|
135
136
|
to: zod_1.z.array(zod_1.z.string().email()).min(1).max(MAX_TEST_RECIPIENT_COUNT),
|
|
136
137
|
locale: zod_1.z.string().min(1).optional(),
|
|
137
|
-
data:
|
|
138
|
+
data: json_schema_1.jsonObjectSchema.optional(),
|
|
138
139
|
});
|
|
139
140
|
exports.testSendSchema = exports.previewSchema.extend({
|
|
140
141
|
to: zod_1.z.array(zod_1.z.string().email()).min(1).max(MAX_TEST_RECIPIENT_COUNT),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.schema.js","sourceRoot":"","sources":["../../src/validation/templates.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,4CAA8E;
|
|
1
|
+
{"version":3,"file":"templates.schema.js","sourceRoot":"","sources":["../../src/validation/templates.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,9 @@ const SCROLL_OPTIONS: ScrollIntoViewOptions = {
|
|
|
20
20
|
|
|
21
21
|
/** The DMS app config the e-mail logo is read from. */
|
|
22
22
|
interface EmailBrandingConfig {
|
|
23
|
-
branding?: {
|
|
23
|
+
branding?: {
|
|
24
|
+
logo?: { default?: { light?: string }; email?: { light?: string } }
|
|
25
|
+
}
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
const { t } = useI18n()
|
|
@@ -28,11 +30,13 @@ const { editor, session } = useEditorContext()
|
|
|
28
30
|
useEditorAnnouncements(editor)
|
|
29
31
|
|
|
30
32
|
/**
|
|
31
|
-
* The logo header the sent e-mail carries, when it can carry one: the
|
|
32
|
-
* `EmailLayout` runs with `publicLogoOnly`.
|
|
33
|
+
* The logo header the sent e-mail carries, when it can carry one: the choice
|
|
34
|
+
* and the check `EmailLayout` runs with `publicLogoOnly`. The paper is white,
|
|
35
|
+
* so the dark-mode logo never applies.
|
|
33
36
|
*/
|
|
37
|
+
const logo = (useDmsAppConfig() as EmailBrandingConfig).branding?.logo
|
|
34
38
|
const logoUrl = emailLogoUrl(
|
|
35
|
-
|
|
39
|
+
logo?.email?.light || logo?.default?.light,
|
|
36
40
|
useDmsRuntimeConfig().public.dms?.clientBaseUrl ?? '',
|
|
37
41
|
)
|
|
38
42
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useSortable } from '@vueuse/integrations/useSortable'
|
|
2
|
-
import { toValue, watch, type MaybeRefOrGetter, type Ref } from 'vue'
|
|
2
|
+
import { toRef, toValue, watch, type MaybeRefOrGetter, type Ref } from 'vue'
|
|
3
3
|
|
|
4
4
|
/** What a drop did to a list, as vuedraggable's `change` event said it. */
|
|
5
5
|
export interface SortableListChange<Item> {
|
|
@@ -95,7 +95,7 @@ export function useSortableList<Item>(
|
|
|
95
95
|
if (origin) origin.parent.insertBefore(item, origin.next)
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
const { option } = useSortable(root, list, {
|
|
98
|
+
const { option } = useSortable(root, toRef(list), {
|
|
99
99
|
...defined({
|
|
100
100
|
group: options.group,
|
|
101
101
|
handle: options.handle,
|
|
@@ -1,38 +1,39 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
2
|
+
"name": "@antelopejs/dms-mailing-frontend-vue",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"private": true,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"packageManager": "pnpm@10.2.0",
|
|
8
|
+
"engines": {
|
|
9
|
+
"@antelopejs/dms-frontend": ">=0.10.0 <0.11.0"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"format": "prettier --write .",
|
|
13
|
+
"lint": "eslint . && node --input-type=module -e \"import { assertApiErrorPresentation } from '@antelopejs/dms/checks/api-error-presentation'; assertApiErrorPresentation(['app']);\"",
|
|
14
|
+
"lint:fix": "eslint . --fix",
|
|
15
|
+
"test": "vitest run"
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@vueuse/core": "^14.3.0",
|
|
19
|
+
"@vueuse/integrations": "^14.3.0",
|
|
20
|
+
"sortablejs": "^1.14.0",
|
|
21
|
+
"vue": "^3.5.18"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@antelopejs/tooling-configs": "^0.3.3",
|
|
25
|
+
"@nuxt/ui": "4.10.0",
|
|
26
|
+
"@types/sortablejs": "^1.15.9",
|
|
27
|
+
"@vitejs/plugin-vue": "^6.0.0",
|
|
28
|
+
"@vitest/runner": "^4.1.5",
|
|
29
|
+
"eslint": "^9.0.0",
|
|
30
|
+
"eslint-plugin-vue": "^10.0.0",
|
|
31
|
+
"typescript-eslint": "^8.0.0",
|
|
32
|
+
"vite": "^8.2.2",
|
|
33
|
+
"jsdom": "^26",
|
|
34
|
+
"prettier": "^3.5.3",
|
|
35
|
+
"prettier-plugin-tailwindcss": "^0.6.11",
|
|
36
|
+
"typescript": "^5.9.3",
|
|
37
|
+
"vitest": "^4.1.5"
|
|
38
|
+
}
|
|
38
39
|
}
|