@vendure/email-plugin 3.0.2 → 3.1.0-next.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/lib/src/email-processor.js +2 -2
- package/lib/src/email-processor.js.map +1 -1
- package/lib/src/email-send-event.d.ts +3 -2
- package/lib/src/email-send-event.js +2 -1
- package/lib/src/email-send-event.js.map +1 -1
- package/lib/src/handler/event-handler.d.ts +29 -1
- package/lib/src/handler/event-handler.js +34 -1
- package/lib/src/handler/event-handler.js.map +1 -1
- package/lib/src/types.d.ts +12 -0
- package/package.json +4 -4
|
@@ -66,7 +66,7 @@ let EmailProcessor = class EmailProcessor {
|
|
|
66
66
|
emailDetails = Object.assign(Object.assign({}, generated), { recipient: data.recipient, attachments: (0, attachment_utils_1.deserializeAttachments)(data.attachments), cc: data.cc, bcc: data.bcc, replyTo: data.replyTo });
|
|
67
67
|
const transportSettings = await this.getTransportSettings(ctx);
|
|
68
68
|
await this.emailSender.send(emailDetails, transportSettings);
|
|
69
|
-
await this.eventBus.publish(new email_send_event_1.EmailSendEvent(ctx, emailDetails, true));
|
|
69
|
+
await this.eventBus.publish(new email_send_event_1.EmailSendEvent(ctx, emailDetails, true, undefined, data.metadata));
|
|
70
70
|
return true;
|
|
71
71
|
}
|
|
72
72
|
catch (err) {
|
|
@@ -76,7 +76,7 @@ let EmailProcessor = class EmailProcessor {
|
|
|
76
76
|
else {
|
|
77
77
|
core_2.Logger.error(String(err), constants_1.loggerCtx);
|
|
78
78
|
}
|
|
79
|
-
await this.eventBus.publish(new email_send_event_1.EmailSendEvent(ctx, emailDetails, false, err));
|
|
79
|
+
await this.eventBus.publish(new email_send_event_1.EmailSendEvent(ctx, emailDetails, false, err, data.metadata));
|
|
80
80
|
throw err;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-processor.js","sourceRoot":"","sources":["../../src/email-processor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uCAAyC;AACzC,wCAA2E;AAC3E,wDAA0B;AAE1B,yDAA4D;AAC5D,qCAAsE;AACtE,2CAA8D;AAC9D,yDAAoD;AAEpD,qFAAgF;AAEhF,8EAAyE;AAQzE;;;;GAIG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAc;IAIvB,YAC4C,OAAsC,EACtE,SAAoB,EACpB,QAAkB;QAFc,YAAO,GAAP,OAAO,CAA+B;QACtE,cAAS,GAAT,SAAS,CAAW;QACpB,aAAQ,GAAR,QAAQ,CAAU;IAC3B,CAAC;IAEJ,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,+CAAqB,EAAE,CAAC;QACrG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc;YACxC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc;YAC7B,CAAC,CAAC,IAAI,mDAAuB,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,gDAAgD;YAChD,kCAAkC;YAClC,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;YACvC,MAAM,kBAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAA8B;QACxC,MAAM,GAAG,GAAG,qBAAc,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,YAAY,GAAiB,EAAS,CAAC;QAC3C,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,CAC7D,IAAI,eAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAC5B,GAAG,EACH;gBACI,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;aAClC,CACJ,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAClG,YAAY,mCACL,SAAS,KACZ,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,WAAW,EAAE,IAAA,yCAAsB,EAAC,IAAI,CAAC,WAAW,CAAC,EACrD,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,IAAI,CAAC,OAAO,GACxB,CAAC;YACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC/D,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;YAC7D,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"email-processor.js","sourceRoot":"","sources":["../../src/email-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RequestContext, VendureEvent } from '@vendure/core';
|
|
2
|
-
import { EmailDetails } from './types';
|
|
2
|
+
import { EmailDetails, EmailMetadata } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* @description
|
|
5
5
|
* This event is fired when an email sending attempt has been made. If the sending was successful,
|
|
@@ -14,5 +14,6 @@ export declare class EmailSendEvent extends VendureEvent {
|
|
|
14
14
|
readonly details: EmailDetails;
|
|
15
15
|
readonly success: boolean;
|
|
16
16
|
readonly error?: Error | undefined;
|
|
17
|
-
|
|
17
|
+
readonly metadata?: EmailMetadata | undefined;
|
|
18
|
+
constructor(ctx: RequestContext, details: EmailDetails, success: boolean, error?: Error | undefined, metadata?: EmailMetadata | undefined);
|
|
18
19
|
}
|
|
@@ -12,12 +12,13 @@ const core_1 = require("@vendure/core");
|
|
|
12
12
|
* @since 2.2.0
|
|
13
13
|
*/
|
|
14
14
|
class EmailSendEvent extends core_1.VendureEvent {
|
|
15
|
-
constructor(ctx, details, success, error) {
|
|
15
|
+
constructor(ctx, details, success, error, metadata) {
|
|
16
16
|
super();
|
|
17
17
|
this.ctx = ctx;
|
|
18
18
|
this.details = details;
|
|
19
19
|
this.success = success;
|
|
20
20
|
this.error = error;
|
|
21
|
+
this.metadata = metadata;
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
exports.EmailSendEvent = EmailSendEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-send-event.js","sourceRoot":"","sources":["../../src/email-send-event.ts"],"names":[],"mappings":";;;AAAA,wCAA6D;AAI7D;;;;;;;;GAQG;AACH,MAAa,cAAe,SAAQ,mBAAY;IAC5C,YACoB,GAAmB,EACnB,OAAqB,EACrB,OAAgB,EAChB,KAAa;
|
|
1
|
+
{"version":3,"file":"email-send-event.js","sourceRoot":"","sources":["../../src/email-send-event.ts"],"names":[],"mappings":";;;AAAA,wCAA6D;AAI7D;;;;;;;;GAQG;AACH,MAAa,cAAe,SAAQ,mBAAY;IAC5C,YACoB,GAAmB,EACnB,OAAqB,EACrB,OAAgB,EAChB,KAAa,EACb,QAAwB;QAExC,KAAK,EAAE,CAAC;QANQ,QAAG,GAAH,GAAG,CAAgB;QACnB,YAAO,GAAP,OAAO,CAAc;QACrB,YAAO,GAAP,OAAO,CAAS;QAChB,UAAK,GAAL,KAAK,CAAQ;QACb,aAAQ,GAAR,QAAQ,CAAgB;IAG5C,CAAC;CACJ;AAVD,wCAUC"}
|
|
@@ -2,7 +2,7 @@ import { LanguageCode } from '@vendure/common/lib/generated-types';
|
|
|
2
2
|
import { Type } from '@vendure/common/lib/shared-types';
|
|
3
3
|
import { Injector } from '@vendure/core';
|
|
4
4
|
import { EmailEventListener } from '../event-listener';
|
|
5
|
-
import { EmailTemplateConfig, EventWithAsyncData, EventWithContext, IntermediateEmailDetails, LoadDataFn, SetAttachmentsFn, SetOptionalAddressFieldsFn, SetSubjectFn, SetTemplateVarsFn } from '../types';
|
|
5
|
+
import { EmailTemplateConfig, EventWithAsyncData, EventWithContext, IntermediateEmailDetails, LoadDataFn, SetAttachmentsFn, SetMetadataFn, SetOptionalAddressFieldsFn, SetSubjectFn, SetTemplateVarsFn } from '../types';
|
|
6
6
|
/**
|
|
7
7
|
* @description
|
|
8
8
|
* The EmailEventHandler defines how the EmailPlugin will respond to a given event.
|
|
@@ -126,6 +126,7 @@ export declare class EmailEventHandler<T extends string = string, Event extends
|
|
|
126
126
|
private setTemplateVarsFn;
|
|
127
127
|
private setAttachmentsFn?;
|
|
128
128
|
private setOptionalAddressFieldsFn?;
|
|
129
|
+
private setMetadataFn?;
|
|
129
130
|
private filterFns;
|
|
130
131
|
private configurations;
|
|
131
132
|
private defaultSubject;
|
|
@@ -184,6 +185,33 @@ export declare class EmailEventHandler<T extends string = string, Event extends
|
|
|
184
185
|
* @since 1.1.0
|
|
185
186
|
*/
|
|
186
187
|
setOptionalAddressFields(optionalAddressFieldsFn: SetOptionalAddressFieldsFn<Event>): this;
|
|
188
|
+
/**
|
|
189
|
+
* @description
|
|
190
|
+
* A function which allows {@link EmailMetadata} to be specified for the email. This can be used
|
|
191
|
+
* to store arbitrary data about the email which can be used for tracking or other purposes.
|
|
192
|
+
*
|
|
193
|
+
* It will be exposed in the {@link EmailSendEvent} as `event.metadata`. Here's an example of usage:
|
|
194
|
+
*
|
|
195
|
+
* - An {@link OrderStateTransitionEvent} occurs, and the EmailEventListener starts processing it.
|
|
196
|
+
* - The EmailEventHandler attaches metadata to the email:
|
|
197
|
+
* ```ts
|
|
198
|
+
* new EmailEventListener(EventType.ORDER_CONFIRMATION)
|
|
199
|
+
* .on(OrderStateTransitionEvent)
|
|
200
|
+
* .setMetadata(event => ({
|
|
201
|
+
* type: EventType.ORDER_CONFIRMATION,
|
|
202
|
+
* orderId: event.order.id,
|
|
203
|
+
* }));
|
|
204
|
+
* ```
|
|
205
|
+
* - Then, the EmailPlugin tries to send the email and publishes {@link EmailSendEvent},
|
|
206
|
+
* passing ctx, emailDetails, error or success, and this metadata.
|
|
207
|
+
* - In another part of the server, we have an eventBus that subscribes to EmailSendEvent. We can use
|
|
208
|
+
* `metadata.type` and `metadata.orderId` to identify the related order. For example, we can indicate on the
|
|
209
|
+
* order that the email was successfully sent, or in case of an error, send a notification confirming
|
|
210
|
+
* the order in another available way.
|
|
211
|
+
*
|
|
212
|
+
* @since 3.1.0
|
|
213
|
+
*/
|
|
214
|
+
setMetadata(optionalSetMetadataFn: SetMetadataFn<Event>): this;
|
|
187
215
|
/**
|
|
188
216
|
* @description
|
|
189
217
|
* Defines one or more files to be attached to the email. An attachment can be specified
|
|
@@ -206,6 +206,36 @@ class EmailEventHandler {
|
|
|
206
206
|
this.setOptionalAddressFieldsFn = optionalAddressFieldsFn;
|
|
207
207
|
return this;
|
|
208
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* @description
|
|
211
|
+
* A function which allows {@link EmailMetadata} to be specified for the email. This can be used
|
|
212
|
+
* to store arbitrary data about the email which can be used for tracking or other purposes.
|
|
213
|
+
*
|
|
214
|
+
* It will be exposed in the {@link EmailSendEvent} as `event.metadata`. Here's an example of usage:
|
|
215
|
+
*
|
|
216
|
+
* - An {@link OrderStateTransitionEvent} occurs, and the EmailEventListener starts processing it.
|
|
217
|
+
* - The EmailEventHandler attaches metadata to the email:
|
|
218
|
+
* ```ts
|
|
219
|
+
* new EmailEventListener(EventType.ORDER_CONFIRMATION)
|
|
220
|
+
* .on(OrderStateTransitionEvent)
|
|
221
|
+
* .setMetadata(event => ({
|
|
222
|
+
* type: EventType.ORDER_CONFIRMATION,
|
|
223
|
+
* orderId: event.order.id,
|
|
224
|
+
* }));
|
|
225
|
+
* ```
|
|
226
|
+
* - Then, the EmailPlugin tries to send the email and publishes {@link EmailSendEvent},
|
|
227
|
+
* passing ctx, emailDetails, error or success, and this metadata.
|
|
228
|
+
* - In another part of the server, we have an eventBus that subscribes to EmailSendEvent. We can use
|
|
229
|
+
* `metadata.type` and `metadata.orderId` to identify the related order. For example, we can indicate on the
|
|
230
|
+
* order that the email was successfully sent, or in case of an error, send a notification confirming
|
|
231
|
+
* the order in another available way.
|
|
232
|
+
*
|
|
233
|
+
* @since 3.1.0
|
|
234
|
+
*/
|
|
235
|
+
setMetadata(optionalSetMetadataFn) {
|
|
236
|
+
this.setMetadataFn = optionalSetMetadataFn;
|
|
237
|
+
return this;
|
|
238
|
+
}
|
|
209
239
|
/**
|
|
210
240
|
* @description
|
|
211
241
|
* Defines one or more files to be attached to the email. An attachment can be specified
|
|
@@ -278,6 +308,7 @@ class EmailEventHandler {
|
|
|
278
308
|
asyncHandler.setTemplateVarsFn = this.setTemplateVarsFn;
|
|
279
309
|
asyncHandler.setAttachmentsFn = this.setAttachmentsFn;
|
|
280
310
|
asyncHandler.setOptionalAddressFieldsFn = this.setOptionalAddressFieldsFn;
|
|
311
|
+
asyncHandler.setMetadataFn = this.setMetadataFn;
|
|
281
312
|
asyncHandler.filterFns = this.filterFns;
|
|
282
313
|
asyncHandler.configurations = this.configurations;
|
|
283
314
|
asyncHandler.defaultSubject = this.defaultSubject;
|
|
@@ -346,7 +377,9 @@ class EmailEventHandler {
|
|
|
346
377
|
}
|
|
347
378
|
const attachments = await (0, attachment_utils_1.serializeAttachments)(attachmentsArray);
|
|
348
379
|
const optionalAddressFields = (_e = (await ((_d = this.setOptionalAddressFieldsFn) === null || _d === void 0 ? void 0 : _d.call(this, event)))) !== null && _e !== void 0 ? _e : {};
|
|
349
|
-
|
|
380
|
+
const metadata = this.setMetadataFn ? await this.setMetadataFn(event) : {};
|
|
381
|
+
return Object.assign({ ctx: event.ctx.serialize(), type: this.type, recipient, from: this.from, templateVars: Object.assign(Object.assign({}, globals), templateVars), subject, templateFile: configuration ? configuration.templateFile : 'body.hbs', attachments,
|
|
382
|
+
metadata }, optionalAddressFields);
|
|
350
383
|
}
|
|
351
384
|
/**
|
|
352
385
|
* @description
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-handler.js","sourceRoot":"","sources":["../../../src/handler/event-handler.ts"],"names":[],"mappings":";;;AAEA,wCAAiD;AAEjD,0DAA2D;AAC3D,4CAAyC;
|
|
1
|
+
{"version":3,"file":"event-handler.js","sourceRoot":"","sources":["../../../src/handler/event-handler.ts"],"names":[],"mappings":"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"}
|
package/lib/src/types.d.ts
CHANGED
|
@@ -332,6 +332,7 @@ export type IntermediateEmailDetails = {
|
|
|
332
332
|
cc?: string;
|
|
333
333
|
bcc?: string;
|
|
334
334
|
replyTo?: string;
|
|
335
|
+
metadata?: EmailMetadata;
|
|
335
336
|
};
|
|
336
337
|
/**
|
|
337
338
|
* @description
|
|
@@ -459,3 +460,14 @@ export interface OptionalAddressFields {
|
|
|
459
460
|
* @docsPage Email Plugin Types
|
|
460
461
|
*/
|
|
461
462
|
export type SetOptionalAddressFieldsFn<Event> = (event: Event) => OptionalAddressFields | Promise<OptionalAddressFields>;
|
|
463
|
+
/**
|
|
464
|
+
* @description
|
|
465
|
+
* A function used to set the {@link EmailMetadata}.
|
|
466
|
+
*
|
|
467
|
+
* @since 3.1.0
|
|
468
|
+
* @docsCategory core plugins/EmailPlugin
|
|
469
|
+
* @docsPage Email Plugin Types
|
|
470
|
+
*
|
|
471
|
+
*/
|
|
472
|
+
export type SetMetadataFn<Event> = (event: Event) => EmailMetadata | Promise<EmailMetadata>;
|
|
473
|
+
export type EmailMetadata = Record<string, any>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vendure/email-plugin",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.1.0-next.1",
|
|
4
4
|
"license": "GPL-3.0-or-later",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
"@types/express": "^4.17.21",
|
|
35
35
|
"@types/fs-extra": "^11.0.4",
|
|
36
36
|
"@types/mjml": "^4.7.4",
|
|
37
|
-
"@vendure/common": "
|
|
38
|
-
"@vendure/core": "
|
|
37
|
+
"@vendure/common": "3.1.0-next.1",
|
|
38
|
+
"@vendure/core": "3.1.0-next.1",
|
|
39
39
|
"rimraf": "^5.0.5",
|
|
40
40
|
"typescript": "5.3.3"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "fe075caf048d3e7e46c44032d354ea735b807e2b"
|
|
43
43
|
}
|