@breadstone/archipel-platform-mailing 0.0.8 → 0.0.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@breadstone/archipel-platform-mailing",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "description": "Email delivery with strategy-based transport and template engines for NestJS applications.",
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -75,8 +75,8 @@
75
75
  "README.md"
76
76
  ],
77
77
  "dependencies": {
78
- "@breadstone/archipel-platform-blob-storage": "0.0.8",
79
- "@breadstone/archipel-platform-core": "0.0.8",
78
+ "@breadstone/archipel-platform-blob-storage": "0.0.10",
79
+ "@breadstone/archipel-platform-core": "0.0.10",
80
80
  "form-data": "4.0.5",
81
81
  "nodemailer": "8.0.5",
82
82
  "tslib": "2.8.1"
package/src/MailModule.js CHANGED
@@ -37,7 +37,7 @@ exports.MailModule = MailModule = tslib_1.__decorate([
37
37
  {
38
38
  provide: MailTokens_1.MAIL_TEMPLATE_FETCH_STRATEGY_TOKEN,
39
39
  useFactory: (configService, blobService, resourceManager) => {
40
- const templateStrategy = configService.get('MAIL_TEMPLATE_STRATEGY');
40
+ const templateStrategy = configService.get(env_1.MAIL_TEMPLATE_STRATEGY.key);
41
41
  if (templateStrategy === 'file') {
42
42
  return new FileTemplateFetchStrategy_1.FileTemplateFetchStrategy(resourceManager);
43
43
  }
@@ -51,7 +51,7 @@ exports.MailModule = MailModule = tslib_1.__decorate([
51
51
  {
52
52
  provide: MailTokens_1.MAIL_DELIVERY_STRATEGY_TOKEN,
53
53
  useFactory: async (configService) => {
54
- const deliveryStrategy = configService.get('MAIL_DELIVERY_STRATEGY');
54
+ const deliveryStrategy = configService.get(env_1.MAIL_DELIVERY_STRATEGY.key);
55
55
  if (deliveryStrategy === 'log') {
56
56
  const { LogDeliveryStrategy } = await Promise.resolve().then(() => tslib_1.__importStar(require('./services/strategies/LogDeliveryStrategy')));
57
57
  return new LogDeliveryStrategy(configService);
@@ -5,9 +5,10 @@ exports.MailService = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  const archipel_platform_core_1 = require("@breadstone/archipel-platform-core");
7
7
  const common_1 = require("@nestjs/common");
8
+ const env_1 = require("../env");
9
+ const MailTokens_1 = require("../MailTokens");
8
10
  const MailTemplateEngine_1 = require("../templating/MailTemplateEngine");
9
11
  const DeliveryStrategyBase_1 = require("./strategies/abstracts/DeliveryStrategyBase");
10
- const MailTokens_1 = require("../MailTokens");
11
12
  // #endregion
12
13
  /**
13
14
  * Represents the `MailService` class.
@@ -25,8 +26,8 @@ let MailService = class MailService {
25
26
  constructor(configService, mailTemplateEngine, deliveryStrategy) {
26
27
  this._mailTemplateEngine = mailTemplateEngine;
27
28
  this._deliveryStrategy = deliveryStrategy;
28
- this._defaultFrom = configService.get('MAIL_SENDER_EMAIL');
29
- const templateFormat = configService.get('MAIL_TEMPLATE_ENGINE_FORMAT');
29
+ this._defaultFrom = configService.get(env_1.MAIL_SENDER_EMAIL.key);
30
+ const templateFormat = configService.get(env_1.MAIL_TEMPLATE_ENGINE_FORMAT.key);
30
31
  if (templateFormat !== 'html' && templateFormat !== 'txt') {
31
32
  throw new Error(`Invalid email template format: ${templateFormat}. Supported formats are 'html' or 'txt'.`);
32
33
  }
@@ -6,6 +6,7 @@ const tslib_1 = require("tslib");
6
6
  const archipel_platform_core_1 = require("@breadstone/archipel-platform-core");
7
7
  const common_1 = require("@nestjs/common");
8
8
  const nodemailer = tslib_1.__importStar(require("nodemailer"));
9
+ const env_1 = require("../env");
9
10
  // #endregion
10
11
  /**
11
12
  * Represents the `MailVerificationService` class.
@@ -22,12 +23,12 @@ let MailVerificationService = class MailVerificationService {
22
23
  */
23
24
  constructor(configService) {
24
25
  this._transporter = nodemailer.createTransport({
25
- host: configService.tryGet('MAIL_SMTP_HOST', 'localhost'),
26
+ host: configService.tryGet(env_1.MAIL_SMTP_HOST.key, 'localhost'),
26
27
  port: 465,
27
28
  secure: true,
28
29
  auth: {
29
- user: configService.tryGet('MAIL_SMTP_USER', ''),
30
- pass: configService.tryGet('MAIL_SMTP_PASSWORD', ''),
30
+ user: configService.tryGet(env_1.MAIL_SMTP_USER.key, ''),
31
+ pass: configService.tryGet(env_1.MAIL_SMTP_PASSWORD.key, ''),
31
32
  },
32
33
  });
33
34
  }
@@ -6,6 +6,7 @@ const tslib_1 = require("tslib");
6
6
  const common_1 = require("@nestjs/common");
7
7
  const form_data_1 = tslib_1.__importDefault(require("form-data"));
8
8
  const mailgun_js_1 = tslib_1.__importDefault(require("mailgun.js"));
9
+ const env_1 = require("../../env");
9
10
  const DeliveryStrategyBase_1 = require("./abstracts/DeliveryStrategyBase");
10
11
  // #endregion
11
12
  /**
@@ -28,9 +29,9 @@ class MailgunDeliveryStrategy extends DeliveryStrategyBase_1.DeliveryStrategyBas
28
29
  const mailgun = new mailgun_js_1.default(form_data_1.default);
29
30
  this._mailgunClient = mailgun.client({
30
31
  username: 'api',
31
- key: configService.get('MAIL_MAILGUN_API_KEY'),
32
+ key: configService.get(env_1.MAIL_MAILGUN_API_KEY.key),
32
33
  });
33
- this._domain = configService.get('MAIL_MAILGUN_DOMAIN');
34
+ this._domain = configService.get(env_1.MAIL_MAILGUN_DOMAIN.key);
34
35
  }
35
36
  // #endregion
36
37
  // #region Methods
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.PostmarkDeliveryStrategy = void 0;
5
5
  const common_1 = require("@nestjs/common");
6
6
  const postmark_1 = require("postmark");
7
+ const env_1 = require("../../env");
7
8
  const DeliveryStrategyBase_1 = require("./abstracts/DeliveryStrategyBase");
8
9
  // #endregion
9
10
  /**
@@ -23,7 +24,7 @@ class PostmarkDeliveryStrategy extends DeliveryStrategyBase_1.DeliveryStrategyBa
23
24
  super();
24
25
  // #region Fields
25
26
  this._logger = new common_1.Logger(PostmarkDeliveryStrategy.name);
26
- this._postmarkClient = new postmark_1.ServerClient(configService.get('MAIL_POSTMARK_API_KEY'));
27
+ this._postmarkClient = new postmark_1.ServerClient(configService.get(env_1.MAIL_POSTMARK_API_KEY.key));
27
28
  }
28
29
  // #endregion
29
30
  // #region Methods
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.ResendDeliveryStrategy = void 0;
5
5
  const common_1 = require("@nestjs/common");
6
6
  const resend_1 = require("resend");
7
+ const env_1 = require("../../env");
7
8
  const DeliveryStrategyBase_1 = require("./abstracts/DeliveryStrategyBase");
8
9
  // #endregion
9
10
  /**
@@ -23,7 +24,7 @@ class ResendDeliveryStrategy extends DeliveryStrategyBase_1.DeliveryStrategyBase
23
24
  super();
24
25
  // #region Fields
25
26
  this._logger = new common_1.Logger(ResendDeliveryStrategy.name);
26
- this._resendClient = new resend_1.Resend(configService.get('MAIL_RESEND_API_KEY'));
27
+ this._resendClient = new resend_1.Resend(configService.get(env_1.MAIL_RESEND_API_KEY.key));
27
28
  }
28
29
  // #endregion
29
30
  // #region Methods
@@ -5,6 +5,7 @@ exports.SendGridDeliveryStrategy = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  const common_1 = require("@nestjs/common");
7
7
  const mail_1 = tslib_1.__importDefault(require("@sendgrid/mail"));
8
+ const env_1 = require("../../env");
8
9
  const DeliveryStrategyBase_1 = require("./abstracts/DeliveryStrategyBase");
9
10
  // #endregion
10
11
  /**
@@ -24,7 +25,7 @@ class SendGridDeliveryStrategy extends DeliveryStrategyBase_1.DeliveryStrategyBa
24
25
  super();
25
26
  // #region Fields
26
27
  this._logger = new common_1.Logger(SendGridDeliveryStrategy.name);
27
- mail_1.default.setApiKey(configService.get('MAIL_SENDGRID_API_KEY'));
28
+ mail_1.default.setApiKey(configService.get(env_1.MAIL_SENDGRID_API_KEY.key));
28
29
  }
29
30
  // #endregion
30
31
  // #region Methods
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.SmtpDeliveryStrategy = void 0;
5
5
  const common_1 = require("@nestjs/common");
6
6
  const nodemailer_1 = require("nodemailer");
7
+ const env_1 = require("../../env");
7
8
  const DeliveryStrategyBase_1 = require("./abstracts/DeliveryStrategyBase");
8
9
  // #endregion
9
10
  /**
@@ -24,12 +25,12 @@ class SmtpDeliveryStrategy extends DeliveryStrategyBase_1.DeliveryStrategyBase {
24
25
  // #region Fields
25
26
  this._logger = new common_1.Logger(SmtpDeliveryStrategy.name);
26
27
  const options = {
27
- host: configService.tryGet('MAIL_SMTP_HOST', 'localhost'),
28
- port: configService.tryGet('MAIL_SMTP_PORT', 587),
29
- secure: configService.tryGet('MAIL_SMTP_SECURE', false),
28
+ host: configService.tryGet(env_1.MAIL_SMTP_HOST.key, 'localhost'),
29
+ port: configService.tryGet(env_1.MAIL_SMTP_PORT.key, 587),
30
+ secure: configService.tryGet(env_1.MAIL_SMTP_SECURE.key, false),
30
31
  auth: {
31
- user: configService.tryGet('MAIL_SMTP_USER', ''),
32
- pass: configService.tryGet('MAIL_SMTP_PASSWORD', ''),
32
+ user: configService.tryGet(env_1.MAIL_SMTP_USER.key, ''),
33
+ pass: configService.tryGet(env_1.MAIL_SMTP_PASSWORD.key, ''),
33
34
  },
34
35
  };
35
36
  this._transporter = (0, nodemailer_1.createTransport)(options);
@@ -1,6 +1,5 @@
1
- import { ConfigService } from '@breadstone/archipel-platform-core';
1
+ import { ConfigService, IHealthIndicator } from '@breadstone/archipel-platform-core';
2
2
  import { HealthIndicatorResult } from '@nestjs/terminus';
3
- import { IHealthIndicator } from '@breadstone/archipel-platform-core';
4
3
  /**
5
4
  * Health indicator for mail service.
6
5
  *
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.MailHealthIndicator = void 0;
5
5
  const tslib_1 = require("tslib");
6
- const common_1 = require("@nestjs/common");
7
6
  const archipel_platform_core_1 = require("@breadstone/archipel-platform-core");
7
+ const common_1 = require("@nestjs/common");
8
+ const env_1 = require("../env");
8
9
  // #endregion
9
10
  /**
10
11
  * Health indicator for mail service.
@@ -34,9 +35,9 @@ let MailHealthIndicator = class MailHealthIndicator {
34
35
  * @returns The health indicator result.
35
36
  */
36
37
  check() {
37
- const mailHost = this._configService.tryGet('MAIL_HOST', '');
38
- const mailUser = this._configService.tryGet('MAIL_USER', '');
39
- const mailPort = this._configService.tryGet('MAIL_PORT', 0);
38
+ const mailHost = this._configService.tryGet(env_1.MAIL_HOST.key, '');
39
+ const mailUser = this._configService.tryGet(env_1.MAIL_USER.key, '');
40
+ const mailPort = this._configService.tryGet(env_1.MAIL_PORT.key, 0);
40
41
  const isHealthy = mailHost !== '' && mailUser !== '' && mailPort > 0;
41
42
  return {
42
43
  [this.key]: {