@lenne.tech/nest-server 11.31.2 → 11.32.0

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 (181) hide show
  1. package/.claude/rules/architecture.md +2 -0
  2. package/.claude/rules/configurable-features.md +2 -0
  3. package/.claude/rules/versioning.md +5 -8
  4. package/CLAUDE.md +31 -4
  5. package/FRAMEWORK-API.md +7 -2
  6. package/README.md +1 -0
  7. package/dist/config.env.d.ts +4 -0
  8. package/dist/config.env.js +32 -2
  9. package/dist/config.env.js.map +1 -1
  10. package/dist/core/common/helpers/logging.helper.d.ts +1 -0
  11. package/dist/core/common/helpers/logging.helper.js +12 -0
  12. package/dist/core/common/helpers/logging.helper.js.map +1 -1
  13. package/dist/core/common/helpers/meta.helper.d.ts +1 -0
  14. package/dist/core/common/helpers/meta.helper.js +32 -1
  15. package/dist/core/common/helpers/meta.helper.js.map +1 -1
  16. package/dist/core/common/helpers/process-diagnostics.helper.d.ts +18 -0
  17. package/dist/core/common/helpers/process-diagnostics.helper.js +88 -0
  18. package/dist/core/common/helpers/process-diagnostics.helper.js.map +1 -0
  19. package/dist/core/common/interfaces/server-options.interface.d.ts +12 -0
  20. package/dist/core/common/services/brevo.service.d.ts +7 -1
  21. package/dist/core/common/services/brevo.service.js +37 -16
  22. package/dist/core/common/services/brevo.service.js.map +1 -1
  23. package/dist/core/common/services/email.service.d.ts +3 -1
  24. package/dist/core/common/services/email.service.js +33 -2
  25. package/dist/core/common/services/email.service.js.map +1 -1
  26. package/dist/core/common/services/template.service.js +9 -4
  27. package/dist/core/common/services/template.service.js.map +1 -1
  28. package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js +9 -4
  29. package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js.map +1 -1
  30. package/dist/core/modules/hub/core-hub-actions.controller.d.ts +22 -0
  31. package/dist/core/modules/hub/core-hub-actions.controller.js +141 -0
  32. package/dist/core/modules/hub/core-hub-actions.controller.js.map +1 -0
  33. package/dist/core/modules/hub/core-hub-html.service.d.ts +8 -0
  34. package/dist/core/modules/hub/core-hub-html.service.js +123 -0
  35. package/dist/core/modules/hub/core-hub-html.service.js.map +1 -0
  36. package/dist/core/modules/hub/core-hub.controller.d.ts +56 -0
  37. package/dist/core/modules/hub/core-hub.controller.js +398 -0
  38. package/dist/core/modules/hub/core-hub.controller.js.map +1 -0
  39. package/dist/core/modules/hub/core-hub.module.d.ts +17 -0
  40. package/dist/core/modules/hub/core-hub.module.js +109 -0
  41. package/dist/core/modules/hub/core-hub.module.js.map +1 -0
  42. package/dist/core/modules/hub/core-hub.service.d.ts +18 -0
  43. package/dist/core/modules/hub/core-hub.service.js +153 -0
  44. package/dist/core/modules/hub/core-hub.service.js.map +1 -0
  45. package/dist/core/modules/hub/helpers/hub-client-js.helper.d.ts +1 -0
  46. package/dist/core/modules/hub/helpers/hub-client-js.helper.js +755 -0
  47. package/dist/core/modules/hub/helpers/hub-client-js.helper.js.map +1 -0
  48. package/dist/core/modules/hub/helpers/hub-command-shape.helper.d.ts +1 -0
  49. package/dist/core/modules/hub/helpers/hub-command-shape.helper.js +33 -0
  50. package/dist/core/modules/hub/helpers/hub-command-shape.helper.js.map +1 -0
  51. package/dist/core/modules/hub/helpers/hub-mask.helper.d.ts +1 -0
  52. package/dist/core/modules/hub/helpers/hub-mask.helper.js +46 -0
  53. package/dist/core/modules/hub/helpers/hub-mask.helper.js.map +1 -0
  54. package/dist/core/modules/hub/helpers/hub-mermaid.helper.d.ts +10 -0
  55. package/dist/core/modules/hub/helpers/hub-mermaid.helper.js +35 -0
  56. package/dist/core/modules/hub/helpers/hub-mermaid.helper.js.map +1 -0
  57. package/dist/core/modules/hub/helpers/hub-shell.helper.d.ts +9 -0
  58. package/dist/core/modules/hub/helpers/hub-shell.helper.js +62 -0
  59. package/dist/core/modules/hub/helpers/hub-shell.helper.js.map +1 -0
  60. package/dist/core/modules/hub/hub-action-messages.d.ts +17 -0
  61. package/dist/core/modules/hub/hub-action-messages.js +21 -0
  62. package/dist/core/modules/hub/hub-action-messages.js.map +1 -0
  63. package/dist/core/modules/hub/hub-config.helper.d.ts +11 -0
  64. package/dist/core/modules/hub/hub-config.helper.js +164 -0
  65. package/dist/core/modules/hub/hub-config.helper.js.map +1 -0
  66. package/dist/core/modules/hub/hub-nav.d.ts +12 -0
  67. package/dist/core/modules/hub/hub-nav.js +43 -0
  68. package/dist/core/modules/hub/hub-nav.js.map +1 -0
  69. package/dist/core/modules/hub/hub-ring-buffer.d.ts +22 -0
  70. package/dist/core/modules/hub/hub-ring-buffer.js +59 -0
  71. package/dist/core/modules/hub/hub-ring-buffer.js.map +1 -0
  72. package/dist/core/modules/hub/hub.constants.d.ts +18 -0
  73. package/dist/core/modules/hub/hub.constants.js +22 -0
  74. package/dist/core/modules/hub/hub.constants.js.map +1 -0
  75. package/dist/core/modules/hub/index.d.ts +25 -0
  76. package/dist/core/modules/hub/index.js +42 -0
  77. package/dist/core/modules/hub/index.js.map +1 -0
  78. package/dist/core/modules/hub/interfaces/hub-config.interface.d.ts +115 -0
  79. package/dist/core/modules/hub/interfaces/hub-config.interface.js +3 -0
  80. package/dist/core/modules/hub/interfaces/hub-config.interface.js.map +1 -0
  81. package/dist/core/modules/hub/interfaces/hub-panels.interface.d.ts +231 -0
  82. package/dist/core/modules/hub/interfaces/hub-panels.interface.js +3 -0
  83. package/dist/core/modules/hub/interfaces/hub-panels.interface.js.map +1 -0
  84. package/dist/core/modules/hub/middleware/hub-trace.middleware.d.ts +8 -0
  85. package/dist/core/modules/hub/middleware/hub-trace.middleware.js +50 -0
  86. package/dist/core/modules/hub/middleware/hub-trace.middleware.js.map +1 -0
  87. package/dist/core/modules/hub/services/core-hub-actions.service.d.ts +48 -0
  88. package/dist/core/modules/hub/services/core-hub-actions.service.js +136 -0
  89. package/dist/core/modules/hub/services/core-hub-actions.service.js.map +1 -0
  90. package/dist/core/modules/hub/services/core-hub-db.service.d.ts +19 -0
  91. package/dist/core/modules/hub/services/core-hub-db.service.js +180 -0
  92. package/dist/core/modules/hub/services/core-hub-db.service.js.map +1 -0
  93. package/dist/core/modules/hub/services/core-hub-email.service.d.ts +24 -0
  94. package/dist/core/modules/hub/services/core-hub-email.service.js +148 -0
  95. package/dist/core/modules/hub/services/core-hub-email.service.js.map +1 -0
  96. package/dist/core/modules/hub/services/core-hub-mailbox.service.d.ts +20 -0
  97. package/dist/core/modules/hub/services/core-hub-mailbox.service.js +103 -0
  98. package/dist/core/modules/hub/services/core-hub-mailbox.service.js.map +1 -0
  99. package/dist/core/modules/hub/services/core-hub-migrations.service.d.ts +25 -0
  100. package/dist/core/modules/hub/services/core-hub-migrations.service.js +115 -0
  101. package/dist/core/modules/hub/services/core-hub-migrations.service.js.map +1 -0
  102. package/dist/core/modules/hub/services/core-hub-sources.service.d.ts +28 -0
  103. package/dist/core/modules/hub/services/core-hub-sources.service.js +187 -0
  104. package/dist/core/modules/hub/services/core-hub-sources.service.js.map +1 -0
  105. package/dist/core/modules/hub/services/hub-log-buffer.service.d.ts +24 -0
  106. package/dist/core/modules/hub/services/hub-log-buffer.service.js +210 -0
  107. package/dist/core/modules/hub/services/hub-log-buffer.service.js.map +1 -0
  108. package/dist/core/modules/hub/services/hub-query-profiler.service.d.ts +38 -0
  109. package/dist/core/modules/hub/services/hub-query-profiler.service.js +235 -0
  110. package/dist/core/modules/hub/services/hub-query-profiler.service.js.map +1 -0
  111. package/dist/core/modules/hub/services/hub-trace-buffer.service.d.ts +18 -0
  112. package/dist/core/modules/hub/services/hub-trace-buffer.service.js +123 -0
  113. package/dist/core/modules/hub/services/hub-trace-buffer.service.js.map +1 -0
  114. package/dist/core.module.js +42 -1
  115. package/dist/core.module.js.map +1 -1
  116. package/dist/index.d.ts +2 -0
  117. package/dist/index.js +2 -0
  118. package/dist/index.js.map +1 -1
  119. package/dist/main.js +5 -2
  120. package/dist/main.js.map +1 -1
  121. package/dist/tsconfig.build.tsbuildinfo +1 -1
  122. package/docs/REQUEST-LIFECYCLE.md +2 -0
  123. package/docs/brevo-manual-test.md +166 -0
  124. package/docs/security-overrides.md +90 -0
  125. package/migration-guides/11.31.2-to-11.31.3.md +135 -0
  126. package/migration-guides/11.31.3-to-11.32.0.md +254 -0
  127. package/package.json +16 -14
  128. package/src/config.env.ts +75 -2
  129. package/src/core/common/helpers/logging.helper.spec.ts +61 -0
  130. package/src/core/common/helpers/logging.helper.ts +48 -0
  131. package/src/core/common/helpers/meta.helper.ts +46 -1
  132. package/src/core/common/helpers/process-diagnostics.helper.spec.ts +310 -0
  133. package/src/core/common/helpers/process-diagnostics.helper.ts +321 -0
  134. package/src/core/common/interfaces/server-options.interface.ts +78 -0
  135. package/src/core/common/services/brevo.service.spec.ts +266 -0
  136. package/src/core/common/services/brevo.service.ts +100 -17
  137. package/src/core/common/services/email.service.ts +33 -1
  138. package/src/core/common/services/template.service.ts +21 -16
  139. package/src/core/modules/better-auth/core-better-auth-email-verification.service.ts +14 -4
  140. package/src/core/modules/hub/INTEGRATION-CHECKLIST.md +64 -0
  141. package/src/core/modules/hub/README.md +159 -0
  142. package/src/core/modules/hub/core-hub-actions.controller.ts +137 -0
  143. package/src/core/modules/hub/core-hub-html.service.ts +135 -0
  144. package/src/core/modules/hub/core-hub.controller.ts +286 -0
  145. package/src/core/modules/hub/core-hub.module.spec.ts +108 -0
  146. package/src/core/modules/hub/core-hub.module.ts +159 -0
  147. package/src/core/modules/hub/core-hub.service.ts +169 -0
  148. package/src/core/modules/hub/helpers/hub-client-js.helper.ts +768 -0
  149. package/src/core/modules/hub/helpers/hub-command-shape.helper.spec.ts +48 -0
  150. package/src/core/modules/hub/helpers/hub-command-shape.helper.ts +47 -0
  151. package/src/core/modules/hub/helpers/hub-mask.helper.spec.ts +67 -0
  152. package/src/core/modules/hub/helpers/hub-mask.helper.ts +78 -0
  153. package/src/core/modules/hub/helpers/hub-mermaid.helper.spec.ts +54 -0
  154. package/src/core/modules/hub/helpers/hub-mermaid.helper.ts +62 -0
  155. package/src/core/modules/hub/helpers/hub-shell.helper.spec.ts +106 -0
  156. package/src/core/modules/hub/helpers/hub-shell.helper.ts +90 -0
  157. package/src/core/modules/hub/hub-action-messages.ts +47 -0
  158. package/src/core/modules/hub/hub-config.helper.spec.ts +108 -0
  159. package/src/core/modules/hub/hub-config.helper.ts +233 -0
  160. package/src/core/modules/hub/hub-nav.ts +66 -0
  161. package/src/core/modules/hub/hub-ring-buffer.spec.ts +95 -0
  162. package/src/core/modules/hub/hub-ring-buffer.ts +101 -0
  163. package/src/core/modules/hub/hub.constants.ts +84 -0
  164. package/src/core/modules/hub/index.ts +25 -0
  165. package/src/core/modules/hub/interfaces/hub-config.interface.ts +265 -0
  166. package/src/core/modules/hub/interfaces/hub-panels.interface.ts +186 -0
  167. package/src/core/modules/hub/middleware/hub-trace.middleware.ts +45 -0
  168. package/src/core/modules/hub/services/core-hub-actions.service.ts +133 -0
  169. package/src/core/modules/hub/services/core-hub-db.service.ts +185 -0
  170. package/src/core/modules/hub/services/core-hub-email.service.ts +158 -0
  171. package/src/core/modules/hub/services/core-hub-mailbox.service.spec.ts +116 -0
  172. package/src/core/modules/hub/services/core-hub-mailbox.service.ts +121 -0
  173. package/src/core/modules/hub/services/core-hub-migrations.service.ts +112 -0
  174. package/src/core/modules/hub/services/core-hub-sources.service.ts +194 -0
  175. package/src/core/modules/hub/services/hub-log-buffer.service.ts +252 -0
  176. package/src/core/modules/hub/services/hub-query-profiler.service.ts +274 -0
  177. package/src/core/modules/hub/services/hub-trace-buffer.service.spec.ts +112 -0
  178. package/src/core/modules/hub/services/hub-trace-buffer.service.ts +134 -0
  179. package/src/core.module.ts +61 -1
  180. package/src/index.ts +7 -0
  181. package/src/main.ts +22 -3
@@ -8,23 +8,23 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var BrevoService_1;
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
13
  exports.BrevoService = void 0;
13
- const brevo_1 = require("@getbrevo/brevo");
14
14
  const common_1 = require("@nestjs/common");
15
+ const node_crypto_1 = require("node:crypto");
15
16
  const config_service_1 = require("./config.service");
16
- let BrevoService = class BrevoService {
17
+ let BrevoService = BrevoService_1 = class BrevoService {
17
18
  configService;
18
19
  brevoConfig;
19
- apiInstance;
20
+ logger = new common_1.Logger(BrevoService_1.name);
21
+ client;
20
22
  constructor(configService) {
21
23
  this.configService = configService;
22
24
  this.brevoConfig = configService.configFastButReadOnly.brevo;
23
25
  if (!this.brevoConfig) {
24
26
  throw new Error('Brevo configuration not set!');
25
27
  }
26
- this.apiInstance = new brevo_1.TransactionalEmailsApi();
27
- this.apiInstance.setApiKey(brevo_1.TransactionalEmailsApiApiKeys.apiKey, this.brevoConfig.apiKey);
28
28
  }
29
29
  async sendMail(to, templateId, params) {
30
30
  try {
@@ -34,18 +34,18 @@ let BrevoService = class BrevoService {
34
34
  if (this.configService.config?.brevo?.exclude?.test?.(to)) {
35
35
  return 'TEST_USER!';
36
36
  }
37
- const sendSmtpEmail = {
38
- params,
37
+ const request = {
38
+ headers: this.buildIdempotencyHeaders(),
39
+ params: params,
39
40
  templateId,
40
41
  to: [{ email: to }],
41
42
  };
42
- const result = await this.apiInstance.sendTransacEmail(sendSmtpEmail);
43
- return result.body;
43
+ const client = await this.getClient();
44
+ return await client.transactionalEmails.sendTransacEmail(request);
44
45
  }
45
46
  catch (error) {
46
- console.error(error);
47
+ return this.handleSendError(error, to);
47
48
  }
48
- return null;
49
49
  }
50
50
  async sendHtmlMail(to, subject, html, options) {
51
51
  try {
@@ -55,24 +55,45 @@ let BrevoService = class BrevoService {
55
55
  if (this.configService.config?.brevo?.exclude?.test?.(to)) {
56
56
  return 'TEST_USER!';
57
57
  }
58
- const sendSmtpEmail = {
58
+ const request = {
59
+ headers: this.buildIdempotencyHeaders(),
59
60
  htmlContent: html,
60
61
  params: options?.params,
61
62
  sender: this.brevoConfig.sender,
62
63
  subject,
63
64
  to: [{ email: to }],
64
65
  };
65
- const result = await this.apiInstance.sendTransacEmail(sendSmtpEmail);
66
- return result.body;
66
+ const client = await this.getClient();
67
+ return await client.transactionalEmails.sendTransacEmail(request);
67
68
  }
68
69
  catch (error) {
69
- console.error(error);
70
+ return this.handleSendError(error, to);
71
+ }
72
+ }
73
+ buildIdempotencyHeaders() {
74
+ return { 'Idempotency-Key': (0, node_crypto_1.randomUUID)() };
75
+ }
76
+ async getClient() {
77
+ if (!this.client) {
78
+ const { BrevoClient: BrevoClientCtor } = await Promise.resolve().then(() => require('@getbrevo/brevo'));
79
+ this.client = new BrevoClientCtor({
80
+ apiKey: this.brevoConfig.apiKey,
81
+ maxRetries: this.brevoConfig.maxRetries ?? 0,
82
+ timeoutInSeconds: this.brevoConfig.timeoutInSeconds ?? 10,
83
+ });
84
+ }
85
+ return this.client;
86
+ }
87
+ handleSendError(error, to) {
88
+ this.logger.error(`Brevo sendTransacEmail failed for ${to}: ${error instanceof Error ? error.message : String(error)}`);
89
+ if (this.brevoConfig.throwOnError) {
90
+ throw error;
70
91
  }
71
92
  return null;
72
93
  }
73
94
  };
74
95
  exports.BrevoService = BrevoService;
75
- exports.BrevoService = BrevoService = __decorate([
96
+ exports.BrevoService = BrevoService = BrevoService_1 = __decorate([
76
97
  (0, common_1.Injectable)(),
77
98
  __metadata("design:paramtypes", [config_service_1.ConfigService])
78
99
  ], BrevoService);
@@ -1 +1 @@
1
- {"version":3,"file":"brevo.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/brevo.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAuG;AACvG,2CAA4C;AAE5C,qDAAiD;AAM1C,IAAM,YAAY,GAAlB,MAAM,YAAY;IAID;IAHtB,WAAW,CAAkD;IACrD,WAAW,CAAyB;IAE5C,YAAsB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAChD,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,8BAAsB,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,qCAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5F,CAAC;IAKD,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,UAAkB,EAAE,MAAe;QAC5D,IAAI,CAAC;YAEH,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YAID,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1D,OAAO,YAAY,CAAC;YACtB,CAAC;YAGD,MAAM,aAAa,GAAkB;gBACnC,MAAM;gBACN,UAAU;gBACV,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;aACpB,CAAC;YAGF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAGD,OAAO,IAAI,CAAC;IACd,CAAC;IAKD,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,OAAe,EACf,IAAY,EACZ,OAA6C;QAE7C,IAAI,CAAC;YAEH,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACf,CAAC;YAID,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1D,OAAO,YAAY,CAAC;YACtB,CAAC;YAGD,MAAM,aAAa,GAAkB;gBACnC,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;gBAC/B,OAAO;gBACP,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;aACpB,CAAC;YAGF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAGD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAvFY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAK0B,8BAAa;GAJvC,YAAY,CAuFxB"}
1
+ {"version":3,"file":"brevo.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/brevo.service.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,14 @@ import { Attachment } from 'nodemailer/lib/mailer';
3
3
  import { MailTransportOptions } from '../interfaces/server-options.interface';
4
4
  import { ConfigService } from './config.service';
5
5
  import { TemplateService } from './template.service';
6
+ import type { IHubEmailCapture } from '../../modules/hub/interfaces/hub-config.interface';
6
7
  export declare class EmailService implements OnModuleDestroy {
7
8
  protected configService: ConfigService;
8
9
  protected templateService: TemplateService;
10
+ protected readonly emailCapture?: IHubEmailCapture;
9
11
  private cachedTransporter;
10
12
  private cachedSmtpConfig;
11
- constructor(configService: ConfigService, templateService: TemplateService);
13
+ constructor(configService: ConfigService, templateService: TemplateService, emailCapture?: IHubEmailCapture);
12
14
  onModuleDestroy(): void;
13
15
  sendMail(recipients: string | string[], subject: string, config: {
14
16
  attachments?: Attachment[];
@@ -8,22 +8,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.EmailService = void 0;
13
16
  const crypto_1 = require("crypto");
14
17
  const common_1 = require("@nestjs/common");
15
18
  const nodemailer = require("nodemailer");
16
19
  const input_helper_1 = require("../helpers/input.helper");
20
+ const hub_constants_1 = require("../../modules/hub/hub.constants");
17
21
  const config_service_1 = require("./config.service");
18
22
  const template_service_1 = require("./template.service");
19
23
  let EmailService = class EmailService {
20
24
  configService;
21
25
  templateService;
26
+ emailCapture;
22
27
  cachedTransporter = null;
23
28
  cachedSmtpConfig = null;
24
- constructor(configService, templateService) {
29
+ constructor(configService, templateService, emailCapture) {
25
30
  this.configService = configService;
26
31
  this.templateService = templateService;
32
+ this.emailCapture = emailCapture;
27
33
  }
28
34
  onModuleDestroy() {
29
35
  if (this.cachedTransporter) {
@@ -64,6 +70,29 @@ let EmailService = class EmailService {
64
70
  'It silently discards all outgoing email. Check email.smtp in your config.');
65
71
  }
66
72
  }
73
+ if (this.emailCapture) {
74
+ let skipTransport = false;
75
+ try {
76
+ skipTransport = this.emailCapture.capture({
77
+ from: `"${senderName}" <${senderEmail}>`,
78
+ html,
79
+ subject,
80
+ templateName: htmlTemplate ?? textTemplate,
81
+ text,
82
+ to: Array.isArray(recipients) ? recipients.join(', ') : recipients,
83
+ });
84
+ }
85
+ catch {
86
+ }
87
+ if (skipTransport) {
88
+ return {
89
+ accepted: Array.isArray(recipients) ? recipients : [recipients],
90
+ captured: true,
91
+ messageId: 'hub-mailbox',
92
+ rejected: [],
93
+ };
94
+ }
95
+ }
67
96
  const smtpKey = (0, crypto_1.createHash)('sha256').update(JSON.stringify(smtp)).digest('hex');
68
97
  if (!this.cachedTransporter || this.cachedSmtpConfig !== smtpKey) {
69
98
  this.cachedTransporter = nodemailer.createTransport(smtp);
@@ -82,7 +111,9 @@ let EmailService = class EmailService {
82
111
  exports.EmailService = EmailService;
83
112
  exports.EmailService = EmailService = __decorate([
84
113
  (0, common_1.Injectable)(),
114
+ __param(2, (0, common_1.Optional)()),
115
+ __param(2, (0, common_1.Inject)(hub_constants_1.HUB_EMAIL_CAPTURE)),
85
116
  __metadata("design:paramtypes", [config_service_1.ConfigService,
86
- template_service_1.TemplateService])
117
+ template_service_1.TemplateService, Object])
87
118
  ], EmailService);
88
119
  //# sourceMappingURL=email.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/email.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/email.service.ts"],"names":[],"mappings":"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"}
@@ -26,18 +26,23 @@ let TemplateService = class TemplateService {
26
26
  return template(templateData);
27
27
  }
28
28
  async getTemplate(filePath) {
29
- return new Promise((resolve, reject) => {
29
+ const baseDir = (0, path_1.resolve)(this.configService.getFastButReadOnly('templates.path'));
30
+ const fullPath = (0, path_1.resolve)(baseDir, `${filePath}.ejs`);
31
+ if (fullPath !== baseDir && !fullPath.startsWith(baseDir + path_1.sep)) {
32
+ throw new Error(`Invalid template path "${filePath}".`);
33
+ }
34
+ return new Promise((res, reject) => {
30
35
  if (this.templates[filePath]) {
31
- resolve(this.templates[filePath]);
36
+ res(this.templates[filePath]);
32
37
  return;
33
38
  }
34
- fs.readFile(`${(0, path_1.join)(this.configService.getFastButReadOnly('templates.path'), filePath)}.ejs`, { encoding: 'utf8' }, (err, data) => {
39
+ fs.readFile(fullPath, { encoding: 'utf8' }, (err, data) => {
35
40
  if (err) {
36
41
  reject(err);
37
42
  }
38
43
  else {
39
44
  this.templates[filePath] = ejs.compile(data);
40
- resolve(this.templates[filePath]);
45
+ res(this.templates[filePath]);
41
46
  }
42
47
  });
43
48
  });
@@ -1 +1 @@
1
- {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,2BAA4B;AAC5B,yBAA0B;AAC1B,+BAA4B;AAE5B,qDAAiD;AAM1C,IAAM,eAAe,GAArB,MAAM,eAAe;IASK;IALrB,SAAS,GAAwC,EAAE,CAAC;IAK9D,YAA+B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAOxD,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,YAAoC;QAChF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAMS,KAAK,CAAC,WAAW,CAAC,QAAgB;QAC1C,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAEvD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClC,OAAO;YACT,CAAC;YAGD,EAAE,CAAC,QAAQ,CACT,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,EAChF,EAAE,QAAQ,EAAE,MAAM,EAAE,EACpB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC7C,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjDY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAUmC,8BAAa;GAThD,eAAe,CAiD3B"}
1
+ {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAE5C,2BAA4B;AAC5B,yBAA0B;AAC1B,+BAAoC;AAEpC,qDAAiD;AAM1C,IAAM,eAAe,GAArB,MAAM,eAAe;IASK;IALrB,SAAS,GAAwC,EAAE,CAAC;IAK9D,YAA+B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAOxD,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,YAAoC;QAChF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAMS,KAAK,CAAC,WAAW,CAAC,QAAgB;QAI1C,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACjF,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,OAAO,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;QACrD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,UAAG,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,IAAI,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,OAAO,CAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAEnD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAGD,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACxD,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBAEN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC7C,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtDY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAUmC,8BAAa;GAThD,eAAe,CAsD3B"}
@@ -78,15 +78,20 @@ let CoreBetterAuthEmailVerificationService = class CoreBetterAuthEmailVerificati
78
78
  if (this.config.brevoTemplateId && this.brevoService) {
79
79
  try {
80
80
  const appName = this.getAppName();
81
- await this.brevoService.sendMail(user.email, this.config.brevoTemplateId, {
81
+ const result = await this.brevoService.sendMail(user.email, this.config.brevoTemplateId, {
82
82
  appName,
83
83
  expiresIn: this.formatExpiresIn(this.config.expiresIn),
84
84
  link: url,
85
85
  name: user.name || user.email.split('@')[0],
86
86
  });
87
- this.trackSend(user.email);
88
- this.logger.debug(`Verification email sent via Brevo to ${this.maskEmail(user.email)}`);
89
- return;
87
+ if (result === null) {
88
+ this.logger.error(`Brevo verification send failed for ${this.maskEmail(user.email)} — falling back to SMTP`);
89
+ }
90
+ else {
91
+ this.trackSend(user.email);
92
+ this.logger.debug(`Verification email sent via Brevo to ${this.maskEmail(user.email)}`);
93
+ return;
94
+ }
90
95
  }
91
96
  catch (error) {
92
97
  this.logger.error(`Failed to send verification email via Brevo to ${this.maskEmail(user.email)}: ${error instanceof Error ? error.message : 'Unknown error'}`);
@@ -1 +1 @@
1
- {"version":3,"file":"core-better-auth-email-verification.service.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth-email-verification.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-better-auth-email-verification.service.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth-email-verification.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { CoreHubActionsService } from './services/core-hub-actions.service';
2
+ interface ConfirmBody {
3
+ confirm?: string;
4
+ }
5
+ export declare class CoreHubActionsController {
6
+ protected readonly actions: CoreHubActionsService;
7
+ constructor(actions: CoreHubActionsService);
8
+ clearCollector(name: string, body: ConfirmBody, hubHeader: string | undefined): Promise<unknown>;
9
+ cron(name: string, action: string, body: ConfirmBody, hubHeader: string | undefined): Promise<unknown>;
10
+ deleteFile(id: string, body: ConfirmBody, hubHeader: string | undefined): Promise<unknown>;
11
+ emailTest(body: {
12
+ locale?: string;
13
+ template?: string;
14
+ to?: string;
15
+ }, hubHeader: string | undefined): Promise<unknown>;
16
+ migrationsDown(body: ConfirmBody, hubHeader: string | undefined): Promise<unknown>;
17
+ migrationsRun(body: ConfirmBody, hubHeader: string | undefined): Promise<unknown>;
18
+ protected requireConfirm(body: ConfirmBody, expected: string): void;
19
+ protected requireHubRequest(header: string | undefined): void;
20
+ protected wrap(fn: () => Promise<unknown>): Promise<unknown>;
21
+ }
22
+ export {};
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CoreHubActionsController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const hub_action_messages_1 = require("./hub-action-messages");
18
+ const core_hub_actions_service_1 = require("./services/core-hub-actions.service");
19
+ let CoreHubActionsController = class CoreHubActionsController {
20
+ actions;
21
+ constructor(actions) {
22
+ this.actions = actions;
23
+ }
24
+ async clearCollector(name, body, hubHeader) {
25
+ this.requireHubRequest(hubHeader);
26
+ this.requireConfirm(body, 'CLEAR');
27
+ if (!['logs', 'mailbox', 'queries', 'traces'].includes(name)) {
28
+ throw new common_1.BadRequestException(hub_action_messages_1.HubActionMessage.unknownCollector);
29
+ }
30
+ return this.wrap(() => Promise.resolve(this.actions.clearBuffer(name)));
31
+ }
32
+ async cron(name, action, body, hubHeader) {
33
+ this.requireHubRequest(hubHeader);
34
+ if (!['start', 'stop', 'trigger'].includes(action)) {
35
+ throw new common_1.BadRequestException(hub_action_messages_1.HubActionMessage.unknownCronAction);
36
+ }
37
+ this.requireConfirm(body, name);
38
+ return this.wrap(() => Promise.resolve(this.actions.controlCron(name, action)));
39
+ }
40
+ async deleteFile(id, body, hubHeader) {
41
+ this.requireHubRequest(hubHeader);
42
+ if (!body?.confirm) {
43
+ throw new common_1.BadRequestException(hub_action_messages_1.HubActionMessage.confirmationFilenameRequired);
44
+ }
45
+ return this.wrap(() => this.actions.deleteFile(id, body.confirm));
46
+ }
47
+ async emailTest(body, hubHeader) {
48
+ this.requireHubRequest(hubHeader);
49
+ if (!body?.to) {
50
+ throw new common_1.BadRequestException(hub_action_messages_1.HubActionMessage.recipientRequired);
51
+ }
52
+ return this.wrap(() => this.actions.sendTestEmail(body.to, body.template, body.locale));
53
+ }
54
+ async migrationsDown(body, hubHeader) {
55
+ this.requireHubRequest(hubHeader);
56
+ this.requireConfirm(body, 'DOWN');
57
+ return this.wrap(() => this.actions.rollbackMigration());
58
+ }
59
+ async migrationsRun(body, hubHeader) {
60
+ this.requireHubRequest(hubHeader);
61
+ this.requireConfirm(body, 'RUN');
62
+ return this.wrap(() => this.actions.runMigrations());
63
+ }
64
+ requireConfirm(body, expected) {
65
+ if (body?.confirm !== expected) {
66
+ throw new common_1.BadRequestException(hub_action_messages_1.HubActionMessage.confirmationKeywordMismatch(expected));
67
+ }
68
+ }
69
+ requireHubRequest(header) {
70
+ if (!header) {
71
+ throw new common_1.ForbiddenException(hub_action_messages_1.HubActionMessage.missingHubRequestHeader);
72
+ }
73
+ }
74
+ async wrap(fn) {
75
+ try {
76
+ const result = await fn();
77
+ return { ok: true, timestamp: new Date().toISOString(), ...result };
78
+ }
79
+ catch (error) {
80
+ throw new common_1.BadRequestException(error instanceof Error ? error.message : hub_action_messages_1.HubActionMessage.actionFailed);
81
+ }
82
+ }
83
+ };
84
+ exports.CoreHubActionsController = CoreHubActionsController;
85
+ __decorate([
86
+ (0, common_1.Post)('actions/collectors/:name/clear'),
87
+ __param(0, (0, common_1.Param)('name')),
88
+ __param(1, (0, common_1.Body)()),
89
+ __param(2, (0, common_1.Headers)('x-hub-request')),
90
+ __metadata("design:type", Function),
91
+ __metadata("design:paramtypes", [String, Object, String]),
92
+ __metadata("design:returntype", Promise)
93
+ ], CoreHubActionsController.prototype, "clearCollector", null);
94
+ __decorate([
95
+ (0, common_1.Post)('actions/cron/:name/:action'),
96
+ __param(0, (0, common_1.Param)('name')),
97
+ __param(1, (0, common_1.Param)('action')),
98
+ __param(2, (0, common_1.Body)()),
99
+ __param(3, (0, common_1.Headers)('x-hub-request')),
100
+ __metadata("design:type", Function),
101
+ __metadata("design:paramtypes", [String, String, Object, String]),
102
+ __metadata("design:returntype", Promise)
103
+ ], CoreHubActionsController.prototype, "cron", null);
104
+ __decorate([
105
+ (0, common_1.Delete)('actions/files/:id'),
106
+ __param(0, (0, common_1.Param)('id')),
107
+ __param(1, (0, common_1.Body)()),
108
+ __param(2, (0, common_1.Headers)('x-hub-request')),
109
+ __metadata("design:type", Function),
110
+ __metadata("design:paramtypes", [String, Object, String]),
111
+ __metadata("design:returntype", Promise)
112
+ ], CoreHubActionsController.prototype, "deleteFile", null);
113
+ __decorate([
114
+ (0, common_1.Post)('actions/email/test'),
115
+ __param(0, (0, common_1.Body)()),
116
+ __param(1, (0, common_1.Headers)('x-hub-request')),
117
+ __metadata("design:type", Function),
118
+ __metadata("design:paramtypes", [Object, String]),
119
+ __metadata("design:returntype", Promise)
120
+ ], CoreHubActionsController.prototype, "emailTest", null);
121
+ __decorate([
122
+ (0, common_1.Post)('actions/migrations/down'),
123
+ __param(0, (0, common_1.Body)()),
124
+ __param(1, (0, common_1.Headers)('x-hub-request')),
125
+ __metadata("design:type", Function),
126
+ __metadata("design:paramtypes", [Object, String]),
127
+ __metadata("design:returntype", Promise)
128
+ ], CoreHubActionsController.prototype, "migrationsDown", null);
129
+ __decorate([
130
+ (0, common_1.Post)('actions/migrations/run'),
131
+ __param(0, (0, common_1.Body)()),
132
+ __param(1, (0, common_1.Headers)('x-hub-request')),
133
+ __metadata("design:type", Function),
134
+ __metadata("design:paramtypes", [Object, String]),
135
+ __metadata("design:returntype", Promise)
136
+ ], CoreHubActionsController.prototype, "migrationsRun", null);
137
+ exports.CoreHubActionsController = CoreHubActionsController = __decorate([
138
+ (0, common_1.Controller)(),
139
+ __metadata("design:paramtypes", [core_hub_actions_service_1.CoreHubActionsService])
140
+ ], CoreHubActionsController);
141
+ //# sourceMappingURL=core-hub-actions.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-hub-actions.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/hub/core-hub-actions.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ResolvedHubConfig } from './interfaces/hub-config.interface';
2
+ export declare class CoreHubHtmlService {
3
+ protected readonly config: ResolvedHubConfig;
4
+ constructor(config: ResolvedHubConfig);
5
+ buildClientScript(): string;
6
+ buildShell(authHeader?: string): string;
7
+ protected css(): string;
8
+ }