@vendure/email-plugin 2.0.0-next.9 → 2.0.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.
Files changed (41) hide show
  1. package/lib/index.d.ts +2 -0
  2. package/lib/index.js +7 -1
  3. package/lib/index.js.map +1 -1
  4. package/lib/src/common.d.ts +3 -1
  5. package/lib/src/common.js +10 -1
  6. package/lib/src/common.js.map +1 -1
  7. package/lib/src/default-email-handlers.js +9 -9
  8. package/lib/src/default-email-handlers.js.map +1 -1
  9. package/lib/src/dev-mailbox.js +9 -6
  10. package/lib/src/dev-mailbox.js.map +1 -1
  11. package/lib/src/email-generator.d.ts +25 -0
  12. package/lib/src/email-generator.js +3 -0
  13. package/lib/src/email-generator.js.map +1 -0
  14. package/lib/src/email-processor.d.ts +10 -6
  15. package/lib/src/email-processor.js +31 -13
  16. package/lib/src/email-processor.js.map +1 -1
  17. package/lib/src/email-sender.d.ts +45 -0
  18. package/lib/src/email-sender.js +3 -0
  19. package/lib/src/email-sender.js.map +1 -0
  20. package/lib/src/event-handler.d.ts +14 -2
  21. package/lib/src/event-handler.js +21 -7
  22. package/lib/src/event-handler.js.map +1 -1
  23. package/lib/src/event-listener.d.ts +1 -1
  24. package/lib/src/event-listener.js +1 -1
  25. package/lib/src/handlebars-mjml-generator.d.ts +4 -4
  26. package/lib/src/handlebars-mjml-generator.js +6 -13
  27. package/lib/src/handlebars-mjml-generator.js.map +1 -1
  28. package/lib/src/mock-events.js +17 -26
  29. package/lib/src/mock-events.js.map +1 -1
  30. package/lib/src/nodemailer-email-sender.d.ts +6 -3
  31. package/lib/src/nodemailer-email-sender.js +10 -1
  32. package/lib/src/nodemailer-email-sender.js.map +1 -1
  33. package/lib/src/noop-email-generator.d.ts +1 -1
  34. package/lib/src/plugin.d.ts +99 -8
  35. package/lib/src/plugin.js +143 -14
  36. package/lib/src/plugin.js.map +1 -1
  37. package/lib/src/template-loader.d.ts +5 -2
  38. package/lib/src/template-loader.js +17 -9
  39. package/lib/src/template-loader.js.map +1 -1
  40. package/lib/src/types.d.ts +140 -173
  41. package/package.json +42 -42
package/lib/index.d.ts CHANGED
@@ -7,3 +7,5 @@ export * from './src/noop-email-generator';
7
7
  export * from './src/plugin';
8
8
  export * from './src/template-loader';
9
9
  export * from './src/types';
10
+ export * from './src/email-generator';
11
+ export * from './src/email-sender';
package/lib/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -19,4 +23,6 @@ __exportStar(require("./src/noop-email-generator"), exports);
19
23
  __exportStar(require("./src/plugin"), exports);
20
24
  __exportStar(require("./src/template-loader"), exports);
21
25
  __exportStar(require("./src/types"), exports);
26
+ __exportStar(require("./src/email-generator"), exports);
27
+ __exportStar(require("./src/email-sender"), exports);
22
28
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,uDAAqC;AACrC,kEAAgD;AAChD,6DAA2C;AAC3C,+CAA6B;AAC7B,wDAAsC;AACtC,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,uDAAqC;AACrC,kEAAgD;AAChD,6DAA2C;AAC3C,+CAA6B;AAC7B,wDAAsC;AACtC,8CAA4B;AAC5B,wDAAsC;AACtC,qDAAmC"}
@@ -1,2 +1,4 @@
1
- import { EmailPluginDevModeOptions, EmailPluginOptions } from './types';
1
+ import { Injector, RequestContext } from '@vendure/core';
2
+ import { EmailPluginDevModeOptions, EmailPluginOptions, EmailTransportOptions } from './types';
2
3
  export declare function isDevModeOptions(input: EmailPluginOptions | EmailPluginDevModeOptions): input is EmailPluginDevModeOptions;
4
+ export declare function resolveTransportSettings(options: EmailPluginOptions, injector: Injector, ctx?: RequestContext): Promise<EmailTransportOptions>;
package/lib/src/common.js CHANGED
@@ -1,8 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isDevModeOptions = void 0;
3
+ exports.resolveTransportSettings = exports.isDevModeOptions = void 0;
4
4
  function isDevModeOptions(input) {
5
5
  return input.devMode === true;
6
6
  }
7
7
  exports.isDevModeOptions = isDevModeOptions;
8
+ async function resolveTransportSettings(options, injector, ctx) {
9
+ if (typeof options.transport === 'function') {
10
+ return options.transport(injector, ctx);
11
+ }
12
+ else {
13
+ return options.transport;
14
+ }
15
+ }
16
+ exports.resolveTransportSettings = resolveTransportSettings;
8
17
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAC5B,KAAqD;IAErD,OAAQ,KAAmC,CAAC,OAAO,KAAK,IAAI,CAAC;AACjE,CAAC;AAJD,4CAIC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":";;;AAIA,SAAgB,gBAAgB,CAC5B,KAAqD;IAErD,OAAQ,KAAmC,CAAC,OAAO,KAAK,IAAI,CAAC;AACjE,CAAC;AAJD,4CAIC;AAEM,KAAK,UAAU,wBAAwB,CAC1C,OAA2B,EAC3B,QAAkB,EAClB,GAAoB;IAEpB,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE;QACzC,OAAO,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KAC3C;SAAM;QACH,OAAO,OAAO,CAAC,SAAS,CAAC;KAC5B;AACL,CAAC;AAVD,4DAUC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.hydrateShippingLines = exports.transformOrderLineAssetUrls = exports.defaultEmailHandlers = exports.emailAddressChangeHandler = exports.passwordResetHandler = exports.emailVerificationHandler = exports.orderConfirmationHandler = void 0;
4
- /* tslint:disable:no-non-null-assertion */
4
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
5
5
  const core_1 = require("@vendure/core");
6
6
  const event_listener_1 = require("./event-listener");
7
7
  const mock_events_1 = require("./mock-events");
@@ -14,8 +14,8 @@ exports.orderConfirmationHandler = new event_listener_1.EmailEventListener('orde
14
14
  return { shippingLines };
15
15
  })
16
16
  .setRecipient(event => event.order.customer.emailAddress)
17
- .setFrom(`{{ fromAddress }}`)
18
- .setSubject(`Order confirmation for #{{ order.code }}`)
17
+ .setFrom('{{ fromAddress }}')
18
+ .setSubject('Order confirmation for #{{ order.code }}')
19
19
  .setTemplateVars(event => ({ order: event.order, shippingLines: event.data.shippingLines }))
20
20
  .setMockEvent(mock_events_1.mockOrderStateTransitionEvent);
21
21
  exports.emailVerificationHandler = new event_listener_1.EmailEventListener('email-verification')
@@ -26,8 +26,8 @@ exports.emailVerificationHandler = new event_listener_1.EmailEventListener('emai
26
26
  return (nativeAuthMethod && !!nativeAuthMethod.identifier) || false;
27
27
  })
28
28
  .setRecipient(event => event.user.identifier)
29
- .setFrom(`{{ fromAddress }}`)
30
- .setSubject(`Please verify your email address`)
29
+ .setFrom('{{ fromAddress }}')
30
+ .setSubject('Please verify your email address')
31
31
  .setTemplateVars(event => ({
32
32
  verificationToken: event.user.getNativeAuthenticationMethod().verificationToken,
33
33
  }))
@@ -35,8 +35,8 @@ exports.emailVerificationHandler = new event_listener_1.EmailEventListener('emai
35
35
  exports.passwordResetHandler = new event_listener_1.EmailEventListener('password-reset')
36
36
  .on(core_1.PasswordResetEvent)
37
37
  .setRecipient(event => event.user.identifier)
38
- .setFrom(`{{ fromAddress }}`)
39
- .setSubject(`Forgotten password reset`)
38
+ .setFrom('{{ fromAddress }}')
39
+ .setSubject('Forgotten password reset')
40
40
  .setTemplateVars(event => ({
41
41
  passwordResetToken: event.user.getNativeAuthenticationMethod().passwordResetToken,
42
42
  }))
@@ -44,8 +44,8 @@ exports.passwordResetHandler = new event_listener_1.EmailEventListener('password
44
44
  exports.emailAddressChangeHandler = new event_listener_1.EmailEventListener('email-address-change')
45
45
  .on(core_1.IdentifierChangeRequestEvent)
46
46
  .setRecipient(event => event.user.getNativeAuthenticationMethod().pendingIdentifier)
47
- .setFrom(`{{ fromAddress }}`)
48
- .setSubject(`Please verify your change of email address`)
47
+ .setFrom('{{ fromAddress }}')
48
+ .setSubject('Please verify your change of email address')
49
49
  .setTemplateVars(event => ({
50
50
  identifierChangeToken: event.user.getNativeAuthenticationMethod().identifierChangeToken,
51
51
  }))
@@ -1 +1 @@
1
- {"version":3,"file":"default-email-handlers.js","sourceRoot":"","sources":["../../src/default-email-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-email-handlers.js","sourceRoot":"","sources":["../../src/default-email-handlers.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DevMailbox = void 0;
7
7
  const core_1 = require("@vendure/core");
8
- const express_1 = __importDefault(require("express"));
8
+ const express_1 = require("express");
9
9
  const fs_extra_1 = __importDefault(require("fs-extra"));
10
10
  const path_1 = __importDefault(require("path"));
11
11
  /**
@@ -14,7 +14,7 @@ const path_1 = __importDefault(require("path"));
14
14
  class DevMailbox {
15
15
  serve(options) {
16
16
  const { outputPath, handlers } = options;
17
- const server = express_1.default.Router();
17
+ const server = (0, express_1.Router)();
18
18
  server.get('/', (req, res) => {
19
19
  res.sendFile(path_1.default.join(__dirname, '../../dev-mailbox.html'));
20
20
  });
@@ -36,7 +36,7 @@ class DevMailbox {
36
36
  return;
37
37
  }
38
38
  try {
39
- await this.handleMockEventFn(handler, Object.assign(Object.assign({}, handler.mockEvent), { ctx: this.createRequestContext(languageCode) }));
39
+ this.handleMockEventFn(handler, Object.assign(Object.assign({}, handler.mockEvent), { ctx: this.createRequestContext(languageCode, req) }));
40
40
  res.send({ success: true });
41
41
  }
42
42
  catch (e) {
@@ -46,7 +46,7 @@ class DevMailbox {
46
46
  return;
47
47
  }
48
48
  else {
49
- res.send({ success: false, error: `Mock email generation not set up.` });
49
+ res.send({ success: false, error: 'Mock email generation not set up.' });
50
50
  }
51
51
  });
52
52
  server.get('/item/:id', async (req, res) => {
@@ -55,7 +55,9 @@ class DevMailbox {
55
55
  res.send(content);
56
56
  });
57
57
  server.get('/placeholder-image', async (req, res) => {
58
- const img = Buffer.from('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iJnfaemDXGV6R400ttQ0vzI8mSE7to7jvXnFACUUUUDCu++H27+zp8/d8zj8q4NVLsFUZJOAK9R8M6a2l6TFFJ/rG+ZvbPOKBMb4r/5AN1/u15dXo3jm8Fvo/lZw0rYH0HWvOaAQUUUUDCvU/Cv/ACL9l/uf1NeWV6n4V/5F+y/3P6mgTNWiiigkKKKKACiiigAooooAKKKKACiiigDnfHn/ACAf+2q/1rzmvRvHn/IB/wC2q/1rzmgpBRRRQMK6XwXrQ0+8NvKwEM3dj0Nc1SgkHI4NAHs/DDB5FcVr3ghy0lxYndk7jD/hS+GfGQAW2v2wBwsx/ka7KORJlDIwdT0KnNBOx5BcWNxasVmheNh2YU+1026vGCwwPIf9kV69tHpRgelAXOS8N+DvsrLc3oDSD7sfYe9dazBVJJwB1qOe4jtoy8rrGo7sa4bxN4u+3BrazYrD0aTpu/8ArUBuZ/irWjq2oELxDF8qjPU9zWJRRQUFFFFABXqfhX/kX7L/AHP6mvLK9T8K/wDIv2X+5/U0CZq0UUUEhRRRQAUUUUAFFFFABRRRQAUUUUAYHjiMyaC2P4XVj+tebV7BqFmmoWcsD9HGK8o1Cxl026kgmXDKcZ7H3FBSK1FFFAwooooAKuWerXmnsDBcPHjoucj8jVOigDpY/HmoR7dyxyY67h1ps3jrUZFYL5cZPQqOn51zlFAizdajc3rEzzvJnsTx+VVqKKBhRRRQAUUUUAFeq+GY2i0GzVhhgnT8TXnWh6TJq9/HCo+TOXbsBXqsMSwQpGowqjAoEx9FFFBIUUUUAFFFFABRRRQAUUUUAFFFFABVHVtFttYhCTplh91x1FXqKAOIuPh5Lu/cXSbf+mgP9Ki/4V5d/wDP1D+R/wAK7yigdzg/+FeXf/P1D+R/wo/4V5d/8/UP5H/Cu8ooC5wf/CvLv/n6h/I/4Uf8K8u/+fqH8j/hXeUUBc4P/hXl3/z9Q/kf8KP+FeXf/P1D+R/wrvKKAucH/wAK8u/+fqH8j/hR/wAK8u/+fqH8j/hXeUUBc4P/AIV5d/8AP1D+R/wo/wCFeXf/AD9Q/kf8K7yigLnB/wDCvLv/AJ+ofyP+FWLX4ekMDc3KkZ6Rg12lFAXKmm6VbaVD5dvGEB6nuat0UUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9k=', 'base64');
58
+ const img = Buffer.from(
59
+ // eslint-disable-next-line max-len
60
+ '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iJnfaemDXGV6R400ttQ0vzI8mSE7to7jvXnFACUUUUDCu++H27+zp8/d8zj8q4NVLsFUZJOAK9R8M6a2l6TFFJ/rG+ZvbPOKBMb4r/5AN1/u15dXo3jm8Fvo/lZw0rYH0HWvOaAQUUUUDCvU/Cv/ACL9l/uf1NeWV6n4V/5F+y/3P6mgTNWiiigkKKKKACiiigAooooAKKKKACiiigDnfHn/ACAf+2q/1rzmvRvHn/IB/wC2q/1rzmgpBRRRQMK6XwXrQ0+8NvKwEM3dj0Nc1SgkHI4NAHs/DDB5FcVr3ghy0lxYndk7jD/hS+GfGQAW2v2wBwsx/ka7KORJlDIwdT0KnNBOx5BcWNxasVmheNh2YU+1026vGCwwPIf9kV69tHpRgelAXOS8N+DvsrLc3oDSD7sfYe9dazBVJJwB1qOe4jtoy8rrGo7sa4bxN4u+3BrazYrD0aTpu/8ArUBuZ/irWjq2oELxDF8qjPU9zWJRRQUFFFFABXqfhX/kX7L/AHP6mvLK9T8K/wDIv2X+5/U0CZq0UUUEhRRRQAUUUUAFFFFABRRRQAUUUUAYHjiMyaC2P4XVj+tebV7BqFmmoWcsD9HGK8o1Cxl026kgmXDKcZ7H3FBSK1FFFAwooooAKuWerXmnsDBcPHjoucj8jVOigDpY/HmoR7dyxyY67h1ps3jrUZFYL5cZPQqOn51zlFAizdajc3rEzzvJnsTx+VVqKKBhRRRQAUUUUAFeq+GY2i0GzVhhgnT8TXnWh6TJq9/HCo+TOXbsBXqsMSwQpGowqjAoEx9FFFBIUUUUAFFFFABRRRQAUUUUAFFFFABVHVtFttYhCTplh91x1FXqKAOIuPh5Lu/cXSbf+mgP9Ki/4V5d/wDP1D+R/wAK7yigdzg/+FeXf/P1D+R/wo/4V5d/8/UP5H/Cu8ooC5wf/CvLv/n6h/I/4Uf8K8u/+fqH8j/hXeUUBc4P/hXl3/z9Q/kf8KP+FeXf/P1D+R/wrvKKAucH/wAK8u/+fqH8j/hR/wAK8u/+fqH8j/hXeUUBc4P/AIV5d/8AP1D+R/wo/wCFeXf/AD9Q/kf8K7yigLnB/wDCvLv/AJ+ofyP+FWLX4ekMDc3KkZ6Rg12lFAXKmm6VbaVD5dvGEB6nuat0UUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9k=', 'base64');
59
61
  res.writeHead(200, {
60
62
  'Content-Type': 'image/png',
61
63
  'Content-Length': img.length,
@@ -92,9 +94,10 @@ class DevMailbox {
92
94
  const content = JSON.parse(json);
93
95
  return content;
94
96
  }
95
- createRequestContext(languageCode) {
97
+ createRequestContext(languageCode, req) {
96
98
  return new core_1.RequestContext({
97
99
  languageCode,
100
+ req,
98
101
  apiType: 'admin',
99
102
  session: {},
100
103
  isAuthorized: false,
@@ -1 +1 @@
1
- {"version":3,"file":"dev-mailbox.js","sourceRoot":"","sources":["../../src/dev-mailbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-mailbox.js","sourceRoot":"","sources":["../../src/dev-mailbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { InjectableStrategy, VendureEvent } from '@vendure/core';
2
+ import { EmailDetails, EmailPluginOptions } from './types';
3
+ /**
4
+ * @description
5
+ * An EmailGenerator generates the subject and body details of an email.
6
+ *
7
+ * @docsCategory core plugins/EmailPlugin
8
+ * @docsPage EmailGenerator
9
+ * @docsWeight 0
10
+ */
11
+ export interface EmailGenerator<T extends string = any, E extends VendureEvent = any> extends InjectableStrategy {
12
+ /**
13
+ * @description
14
+ * Any necessary setup can be performed here.
15
+ */
16
+ onInit?(options: EmailPluginOptions): void | Promise<void>;
17
+ /**
18
+ * @description
19
+ * Given a subject and body from an email template, this method generates the final
20
+ * interpolated email text.
21
+ */
22
+ generate(from: string, subject: string, body: string, templateVars: {
23
+ [key: string]: any;
24
+ }): Pick<EmailDetails, 'from' | 'subject' | 'body'>;
25
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=email-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-generator.js","sourceRoot":"","sources":["../../src/email-generator.ts"],"names":[],"mappings":""}
@@ -1,17 +1,21 @@
1
- import { TemplateLoader } from './template-loader';
2
- import { EmailGenerator, EmailPluginOptions, EmailSender, EmailTransportOptions, IntermediateEmailDetails } from './types';
1
+ import { ModuleRef } from '@nestjs/core';
2
+ import { Injector, RequestContext } from '@vendure/core';
3
+ import { EmailGenerator } from './email-generator';
4
+ import { EmailSender } from './email-sender';
5
+ import { EmailTransportOptions, InitializedEmailPluginOptions, IntermediateEmailDetails } from './types';
3
6
  /**
4
7
  * This class combines the template loading, generation, and email sending - the actual "work" of
5
8
  * the EmailPlugin. It is arranged this way primarily to accommodate easier testing, so that the
6
9
  * tests can be run without needing all the JobQueue stuff which would require a full e2e test.
7
10
  */
8
11
  export declare class EmailProcessor {
9
- protected options: EmailPluginOptions;
10
- protected templateLoader: TemplateLoader;
12
+ protected options: InitializedEmailPluginOptions;
13
+ private moduleRef;
11
14
  protected emailSender: EmailSender;
12
15
  protected generator: EmailGenerator;
13
- protected transport: EmailTransportOptions;
14
- constructor(options: EmailPluginOptions);
16
+ protected transport: EmailTransportOptions | ((injector?: Injector, ctx?: RequestContext) => EmailTransportOptions | Promise<EmailTransportOptions>);
17
+ constructor(options: InitializedEmailPluginOptions, moduleRef: ModuleRef);
15
18
  init(): Promise<void>;
16
19
  process(data: IntermediateEmailDetails): Promise<boolean>;
20
+ getTransportSettings(ctx?: RequestContext): Promise<EmailTransportOptions>;
17
21
  }
@@ -17,25 +17,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.EmailProcessor = void 0;
19
19
  const common_1 = require("@nestjs/common");
20
- const core_1 = require("@vendure/core");
20
+ const core_1 = require("@nestjs/core");
21
+ const core_2 = require("@vendure/core");
21
22
  const fs_extra_1 = __importDefault(require("fs-extra"));
22
23
  const attachment_utils_1 = require("./attachment-utils");
23
24
  const common_2 = require("./common");
24
25
  const constants_1 = require("./constants");
25
26
  const handlebars_mjml_generator_1 = require("./handlebars-mjml-generator");
26
27
  const nodemailer_email_sender_1 = require("./nodemailer-email-sender");
27
- const template_loader_1 = require("./template-loader");
28
28
  /**
29
29
  * This class combines the template loading, generation, and email sending - the actual "work" of
30
30
  * the EmailPlugin. It is arranged this way primarily to accommodate easier testing, so that the
31
31
  * tests can be run without needing all the JobQueue stuff which would require a full e2e test.
32
32
  */
33
33
  let EmailProcessor = class EmailProcessor {
34
- constructor(options) {
34
+ constructor(options, moduleRef) {
35
35
  this.options = options;
36
+ this.moduleRef = moduleRef;
36
37
  }
37
38
  async init() {
38
- this.templateLoader = new template_loader_1.TemplateLoader(this.options.templatePath);
39
39
  this.emailSender = this.options.emailSender ? this.options.emailSender : new nodemailer_email_sender_1.NodemailerEmailSender();
40
40
  this.generator = this.options.emailGenerator
41
41
  ? this.options.emailGenerator
@@ -52,40 +52,58 @@ let EmailProcessor = class EmailProcessor {
52
52
  }
53
53
  else {
54
54
  if (!this.options.transport) {
55
- throw new core_1.InternalServerError(`When devMode is not set to true, the 'transport' property must be set.`);
55
+ throw new core_2.InternalServerError("When devMode is not set to true, the 'transport' property must be set.");
56
56
  }
57
57
  this.transport = this.options.transport;
58
58
  }
59
- if (this.transport.type === 'file') {
59
+ const transport = await this.getTransportSettings();
60
+ if (transport.type === 'file') {
60
61
  // ensure the configured directory exists before
61
62
  // we attempt to write files to it
62
- const emailPath = this.transport.outputPath;
63
+ const emailPath = transport.outputPath;
63
64
  await fs_extra_1.default.ensureDir(emailPath);
64
65
  }
65
66
  }
66
67
  async process(data) {
67
68
  try {
68
- const bodySource = await this.templateLoader.loadTemplate(data.type, data.templateFile);
69
- const generated = await this.generator.generate(data.from, data.subject, bodySource, data.templateVars);
69
+ const ctx = core_2.RequestContext.deserialize(data.ctx);
70
+ const bodySource = await this.options.templateLoader.loadTemplate(new core_2.Injector(this.moduleRef), ctx, {
71
+ templateName: data.templateFile,
72
+ type: data.type,
73
+ });
74
+ const generated = this.generator.generate(data.from, data.subject, bodySource, data.templateVars);
70
75
  const 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 });
71
- await this.emailSender.send(emailDetails, this.transport);
76
+ const transportSettings = await this.getTransportSettings(ctx);
77
+ await this.emailSender.send(emailDetails, transportSettings);
72
78
  return true;
73
79
  }
74
80
  catch (err) {
75
81
  if (err instanceof Error) {
76
- core_1.Logger.error(err.message, constants_1.loggerCtx, err.stack);
82
+ core_2.Logger.error(err.message, constants_1.loggerCtx, err.stack);
77
83
  }
78
84
  else {
79
- core_1.Logger.error(String(err), constants_1.loggerCtx);
85
+ core_2.Logger.error(String(err), constants_1.loggerCtx);
80
86
  }
81
87
  throw err;
82
88
  }
83
89
  }
90
+ async getTransportSettings(ctx) {
91
+ if ((0, common_2.isDevModeOptions)(this.options)) {
92
+ return {
93
+ type: 'file',
94
+ raw: false,
95
+ outputPath: this.options.outputPath,
96
+ };
97
+ }
98
+ else {
99
+ return (0, common_2.resolveTransportSettings)(this.options, new core_2.Injector(this.moduleRef), ctx);
100
+ }
101
+ }
84
102
  };
85
103
  EmailProcessor = __decorate([
86
104
  (0, common_1.Injectable)(),
87
105
  __param(0, (0, common_1.Inject)(constants_1.EMAIL_PLUGIN_OPTIONS)),
88
- __metadata("design:paramtypes", [Object])
106
+ __metadata("design:paramtypes", [Object, core_1.ModuleRef])
89
107
  ], EmailProcessor);
90
108
  exports.EmailProcessor = EmailProcessor;
91
109
  //# sourceMappingURL=email-processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email-processor.js","sourceRoot":"","sources":["../../src/email-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-processor.js","sourceRoot":"","sources":["../../src/email-processor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uCAAyC;AACzC,wCAA2F;AAC3F,wDAA0B;AAE1B,yDAA4D;AAC5D,qCAAsE;AACtE,2CAA8D;AAG9D,2EAAsE;AACtE,uEAAkE;AAWlE;;;;GAIG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAc;IAUvB,YAC4C,OAAsC,EACtE,SAAoB;QADY,YAAO,GAAP,OAAO,CAA+B;QACtE,cAAS,GAAT,SAAS,CAAW;IAC7B,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;YACvB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAClE;QACD,IAAI,IAAA,yBAAgB,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG;gBACb,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,KAAK;gBACV,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;aACtC,CAAC;SACL;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBACzB,MAAM,IAAI,0BAAmB,CACzB,wEAAwE,CAC3E,CAAC;aACL;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;SAC3C;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpD,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;YAC3B,gDAAgD;YAChD,kCAAkC;YAClC,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;YACvC,MAAM,kBAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SACjC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAA8B;QACxC,IAAI;YACA,MAAM,GAAG,GAAG,qBAAc,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjD,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;aAClB,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,MAAM,YAAY,mCACX,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,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,GAAY,EAAE;YACnB,IAAI,GAAG,YAAY,KAAK,EAAE;gBACtB,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;aACnD;iBAAM;gBACH,aAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,qBAAS,CAAC,CAAC;aACxC;YACD,MAAM,GAAG,CAAC;SACb;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,GAAoB;QAC3C,IAAI,IAAA,yBAAgB,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAChC,OAAO;gBACH,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,KAAK;gBACV,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;aACtC,CAAC;SACL;aAAM;YACH,OAAO,IAAA,iCAAwB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,eAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;SACpF;IACL,CAAC;CACJ,CAAA;AA1FY,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAYJ,WAAA,IAAA,eAAM,EAAC,gCAAoB,CAAC,CAAA;6CACV,gBAAS;GAZvB,cAAc,CA0F1B;AA1FY,wCAAc"}
@@ -0,0 +1,45 @@
1
+ import { InjectableStrategy } from '@vendure/core';
2
+ import { EmailDetails, EmailTransportOptions } from './types';
3
+ /**
4
+ * @description
5
+ * An EmailSender is responsible for sending the email, e.g. via an SMTP connection
6
+ * or using some other mail-sending API. By default, the EmailPlugin uses the
7
+ * {@link NodemailerEmailSender}, but it is also possible to supply a custom implementation:
8
+ *
9
+ * @example
10
+ * ```TypeScript
11
+ * const sgMail = require('\@sendgrid/mail');
12
+ *
13
+ * sgMail.setApiKey(process.env.SENDGRID_API_KEY);
14
+ *
15
+ * class SendgridEmailSender implements EmailSender {
16
+ * async send(email: EmailDetails) {
17
+ * await sgMail.send({
18
+ * to: email.recipient,
19
+ * from: email.from,
20
+ * subject: email.subject,
21
+ * html: email.body,
22
+ * });
23
+ * }
24
+ * }
25
+ *
26
+ * const config: VendureConfig = {
27
+ * logger: new DefaultLogger({ level: LogLevel.Debug })
28
+ * // ...
29
+ * plugins: [
30
+ * EmailPlugin.init({
31
+ * // ... template, handlers config omitted
32
+ * transport: { type: 'none' },
33
+ * emailSender: new SendgridEmailSender(),
34
+ * }),
35
+ * ],
36
+ * };
37
+ * ```
38
+ *
39
+ * @docsCategory core plugins/EmailPlugin
40
+ * @docsPage EmailSender
41
+ * @docsWeight 0
42
+ */
43
+ export interface EmailSender extends InjectableStrategy {
44
+ send: (email: EmailDetails, options: EmailTransportOptions) => void | Promise<void>;
45
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=email-sender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email-sender.js","sourceRoot":"","sources":["../../src/email-sender.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import { LanguageCode } from '@vendure/common/lib/generated-types';
1
2
  import { Type } from '@vendure/common/lib/shared-types';
2
3
  import { Injector } from '@vendure/core';
3
4
  import { EmailEventListener } from './event-listener';
@@ -111,12 +112,13 @@ import { EmailTemplateConfig, EventWithAsyncData, EventWithContext, Intermediate
111
112
  * };
112
113
  * ```
113
114
  *
114
- * @docsCategory EmailPlugin
115
+ * @docsCategory core plugins/EmailPlugin
115
116
  */
116
117
  export declare class EmailEventHandler<T extends string = string, Event extends EventWithContext = EventWithContext> {
117
118
  listener: EmailEventListener<T>;
118
119
  event: Type<Event>;
119
120
  private setRecipientFn;
121
+ private setLanguageCodeFn;
120
122
  private setTemplateVarsFn;
121
123
  private setAttachmentsFn?;
122
124
  private setOptionalAddressFieldsFn?;
@@ -146,6 +148,13 @@ export declare class EmailEventHandler<T extends string = string, Event extends
146
148
  * Or a comma-separated list of addresses: `'foobar@example.com, "Ноде Майлер" <bar@example.com>'`
147
149
  */
148
150
  setRecipient(setRecipientFn: (event: Event) => string): EmailEventHandler<T, Event>;
151
+ /**
152
+ * @description
153
+ * A function which allows to override the language of the email. If not defined, the language from the context will be used.
154
+ *
155
+ * @since 1.8.0
156
+ */
157
+ setLanguageCode(setLanguageCodeFn: (event: Event) => LanguageCode | undefined): EmailEventHandler<T, Event>;
149
158
  /**
150
159
  * @description
151
160
  * A function which returns an object hash of variables which will be made available to the Handlebars template
@@ -202,6 +211,9 @@ export declare class EmailEventHandler<T extends string = string, Event extends
202
211
  * @description
203
212
  * Add configuration for another template other than the default `"body.hbs"`. Use this method to define specific
204
213
  * templates for channels or languageCodes other than the default.
214
+ *
215
+ * @deprecated Define a custom TemplateLoader on plugin initalization to define templates based on the RequestContext.
216
+ * E.g. `EmailPlugin.init({ templateLoader: new CustomTemplateLoader() })`
205
217
  */
206
218
  addTemplate(config: EmailTemplateConfig): EmailEventHandler<T, Event>;
207
219
  /**
@@ -250,7 +262,7 @@ export declare class EmailEventHandler<T extends string = string, Event extends
250
262
  * Identical to the {@link EmailEventHandler} but with a `data` property added to the `event` based on the result
251
263
  * of the `.loadData()` function.
252
264
  *
253
- * @docsCategory EmailPlugin
265
+ * @docsCategory core plugins/EmailPlugin
254
266
  */
255
267
  export declare class EmailEventHandlerWithAsyncData<Data, T extends string = string, InputEvent extends EventWithContext = EventWithContext, Event extends EventWithAsyncData<InputEvent, Data> = EventWithAsyncData<InputEvent, Data>> extends EmailEventHandler<T, Event> {
256
268
  _loadDataFn: LoadDataFn<InputEvent, Data>;
@@ -113,7 +113,7 @@ const constants_1 = require("./constants");
113
113
  * };
114
114
  * ```
115
115
  *
116
- * @docsCategory EmailPlugin
116
+ * @docsCategory core plugins/EmailPlugin
117
117
  */
118
118
  class EmailEventHandler {
119
119
  constructor(listener, event) {
@@ -151,6 +151,16 @@ class EmailEventHandler {
151
151
  this.setRecipientFn = setRecipientFn;
152
152
  return this;
153
153
  }
154
+ /**
155
+ * @description
156
+ * A function which allows to override the language of the email. If not defined, the language from the context will be used.
157
+ *
158
+ * @since 1.8.0
159
+ */
160
+ setLanguageCode(setLanguageCodeFn) {
161
+ this.setLanguageCodeFn = setLanguageCodeFn;
162
+ return this;
163
+ }
154
164
  /**
155
165
  * @description
156
166
  * A function which returns an object hash of variables which will be made available to the Handlebars template
@@ -222,6 +232,9 @@ class EmailEventHandler {
222
232
  * @description
223
233
  * Add configuration for another template other than the default `"body.hbs"`. Use this method to define specific
224
234
  * templates for channels or languageCodes other than the default.
235
+ *
236
+ * @deprecated Define a custom TemplateLoader on plugin initalization to define templates based on the RequestContext.
237
+ * E.g. `EmailPlugin.init({ templateLoader: new CustomTemplateLoader() })`
225
238
  */
226
239
  addTemplate(config) {
227
240
  this.configurations.push(config);
@@ -270,7 +283,7 @@ class EmailEventHandler {
270
283
  * @internal
271
284
  */
272
285
  async handle(event, globals = {}, injector) {
273
- var _a, _b, _c, _d;
286
+ var _a, _b, _c, _d, _e;
274
287
  for (const filterFn of this.filterFns) {
275
288
  if (!filterFn(event)) {
276
289
  return;
@@ -302,7 +315,8 @@ class EmailEventHandler {
302
315
  `Remember to call ".setFrom()" when setting up the EmailEventHandler for ${this.type}`);
303
316
  }
304
317
  const { ctx } = event;
305
- const configuration = this.getBestConfiguration(ctx.channel.code, ctx.languageCode);
318
+ const languageCode = ((_a = this.setLanguageCodeFn) === null || _a === void 0 ? void 0 : _a.call(this, event)) || ctx.languageCode;
319
+ const configuration = this.getBestConfiguration(ctx.channel.code, languageCode);
306
320
  const subject = configuration ? configuration.subject : this.defaultSubject;
307
321
  if (subject == null) {
308
322
  throw new Error(`No subject field has been defined. ` +
@@ -312,14 +326,14 @@ class EmailEventHandler {
312
326
  const templateVars = this.setTemplateVarsFn ? this.setTemplateVarsFn(event, globals) : {};
313
327
  let attachmentsArray = [];
314
328
  try {
315
- attachmentsArray = (_b = (await ((_a = this.setAttachmentsFn) === null || _a === void 0 ? void 0 : _a.call(this, event)))) !== null && _b !== void 0 ? _b : [];
329
+ attachmentsArray = (_c = (await ((_b = this.setAttachmentsFn) === null || _b === void 0 ? void 0 : _b.call(this, event)))) !== null && _c !== void 0 ? _c : [];
316
330
  }
317
331
  catch (e) {
318
332
  core_1.Logger.error(e, constants_1.loggerCtx, e.stack);
319
333
  }
320
334
  const attachments = await (0, attachment_utils_1.serializeAttachments)(attachmentsArray);
321
- const optionalAddressFields = (_d = (await ((_c = this.setOptionalAddressFieldsFn) === null || _c === void 0 ? void 0 : _c.call(this, event)))) !== null && _d !== void 0 ? _d : {};
322
- return Object.assign({ type: this.type, recipient, from: this.from, templateVars: Object.assign(Object.assign({}, globals), templateVars), subject, templateFile: configuration ? configuration.templateFile : 'body.hbs', attachments }, optionalAddressFields);
335
+ const optionalAddressFields = (_e = (await ((_d = this.setOptionalAddressFieldsFn) === null || _d === void 0 ? void 0 : _d.call(this, event)))) !== null && _e !== void 0 ? _e : {};
336
+ 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 }, optionalAddressFields);
323
337
  }
324
338
  /**
325
339
  * @description
@@ -354,7 +368,7 @@ exports.EmailEventHandler = EmailEventHandler;
354
368
  * Identical to the {@link EmailEventHandler} but with a `data` property added to the `event` based on the result
355
369
  * of the `.loadData()` function.
356
370
  *
357
- * @docsCategory EmailPlugin
371
+ * @docsCategory core plugins/EmailPlugin
358
372
  */
359
373
  class EmailEventHandlerWithAsyncData extends EmailEventHandler {
360
374
  constructor(_loadDataFn, listener, event) {
@@ -1 +1 @@
1
- {"version":3,"file":"event-handler.js","sourceRoot":"","sources":["../../src/event-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-handler.js","sourceRoot":"","sources":["../../src/event-handler.ts"],"names":[],"mappings":"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"}