@lenne.tech/nest-server 11.35.1 → 11.36.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 (51) hide show
  1. package/.claude/rules/configurable-features.md +3 -0
  2. package/CLAUDE.md +1 -0
  3. package/FRAMEWORK-API.md +3 -2
  4. package/dist/core/common/helpers/logging.helper.js +1 -1
  5. package/dist/core/common/helpers/logging.helper.js.map +1 -1
  6. package/dist/core/common/interfaces/server-options.interface.d.ts +3 -0
  7. package/dist/core/common/services/brevo.service.d.ts +1 -0
  8. package/dist/core/common/services/brevo.service.js +10 -2
  9. package/dist/core/common/services/brevo.service.js.map +1 -1
  10. package/dist/core/modules/better-auth/better-auth.config.d.ts +5 -2
  11. package/dist/core/modules/better-auth/better-auth.config.js +35 -2
  12. package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
  13. package/dist/core/modules/better-auth/core-better-auth-email-verification.service.d.ts +15 -1
  14. package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js +115 -9
  15. package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js.map +1 -1
  16. package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.d.ts +1 -1
  17. package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.js +14 -1
  18. package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.js.map +1 -1
  19. package/dist/core/modules/better-auth/core-better-auth.controller.js +19 -0
  20. package/dist/core/modules/better-auth/core-better-auth.controller.js.map +1 -1
  21. package/dist/core/modules/better-auth/core-better-auth.module.js +19 -5
  22. package/dist/core/modules/better-auth/core-better-auth.module.js.map +1 -1
  23. package/dist/core/modules/better-auth/core-better-auth.service.js +3 -1
  24. package/dist/core/modules/better-auth/core-better-auth.service.js.map +1 -1
  25. package/dist/core/modules/tenant/core-tenant.service.d.ts +1 -0
  26. package/dist/core/modules/tenant/core-tenant.service.js +11 -2
  27. package/dist/core/modules/tenant/core-tenant.service.js.map +1 -1
  28. package/dist/templates/password-reset-de.ejs +65 -0
  29. package/dist/templates/password-reset-en.ejs +65 -0
  30. package/dist/templates/password-reset.ejs +1 -1
  31. package/dist/tsconfig.build.tsbuildinfo +1 -1
  32. package/docs/security-overrides.md +17 -11
  33. package/migration-guides/11.35.1-to-11.36.0.md +168 -0
  34. package/migration-guides/11.36.0-to-11.36.1.md +283 -0
  35. package/package.json +25 -25
  36. package/src/core/common/helpers/logging.helper.ts +9 -1
  37. package/src/core/common/interfaces/server-options.interface.ts +68 -2
  38. package/src/core/common/services/brevo.service.ts +34 -6
  39. package/src/core/modules/better-auth/CUSTOMIZATION.md +33 -7
  40. package/src/core/modules/better-auth/INTEGRATION-CHECKLIST.md +38 -0
  41. package/src/core/modules/better-auth/README.md +100 -15
  42. package/src/core/modules/better-auth/better-auth.config.ts +142 -9
  43. package/src/core/modules/better-auth/core-better-auth-email-verification.service.ts +265 -20
  44. package/src/core/modules/better-auth/core-better-auth-rate-limiter.service.ts +30 -2
  45. package/src/core/modules/better-auth/core-better-auth.controller.ts +38 -0
  46. package/src/core/modules/better-auth/core-better-auth.module.ts +45 -13
  47. package/src/core/modules/better-auth/core-better-auth.service.ts +10 -2
  48. package/src/core/modules/tenant/core-tenant.service.ts +41 -4
  49. package/src/templates/password-reset-de.ejs +65 -0
  50. package/src/templates/password-reset-en.ejs +65 -0
  51. package/src/templates/password-reset.ejs +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"core-tenant.service.js","sourceRoot":"","sources":["../../../../src/core/modules/tenant/core-tenant.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-tenant.service.js","sourceRoot":"","sources":["../../../../src/core/modules/tenant/core-tenant.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ <% /* `appName` is optional so a caller that omits it cannot turn a password-reset mail into a 500. */ const brand = (typeof appName !== 'undefined' && appName) ? appName : ''; -%>
2
+ <!DOCTYPE html>
3
+ <html lang="de">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
8
+ <title>Passwort zurücksetzen</title>
9
+ <style>
10
+ /* Responsive: on phones let the card fill the width and tighten the side
11
+ padding. Clients that ignore <style>/@media still get a fluid card via
12
+ the inline width:100% + max-width:600px below. */
13
+ @media only screen and (max-width: 600px) {
14
+ .ns-px { padding-left: 24px !important; padding-right: 24px !important; }
15
+ .ns-logo { width: 160px !important; height: auto !important; }
16
+ }
17
+ </style>
18
+ </head>
19
+ <body style="margin:0; padding:0; background-color:#f8fafc; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
20
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f8fafc" style="background-color:#f8fafc;">
21
+ <tr>
22
+ <td align="center" style="padding:32px 16px;">
23
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#ffffff" style="width:100%; max-width:600px; background-color:#ffffff; border:1px solid #e2e8f0; border-radius:8px; overflow:hidden;">
24
+ <!-- Header: the logo when the deployment supplies one, the app name otherwise -->
25
+ <tr>
26
+ <td align="center" bgcolor="#ffffff" style="background-color:#ffffff; padding:32px 32px 24px 32px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;">
27
+ <% if (typeof logoSrc !== 'undefined' && logoSrc) { %>
28
+ <img src="<%= logoSrc %>" alt="<%= brand %>" class="ns-logo" width="200" style="display:block; width:200px; height:auto; border:0; text-decoration:none;">
29
+ <% } else { %>
30
+ <span style="font-size:20px; line-height:26px; font-weight:700; color:#262626;"><%= brand %></span>
31
+ <% } %>
32
+ </td>
33
+ </tr>
34
+ <tr>
35
+ <td class="ns-px" style="padding:36px 40px 8px 40px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;">
36
+ <h1 style="margin:0 0 16px 0; font-size:22px; line-height:28px; font-weight:700; color:#262626;">Hallo <%= name %>,</h1>
37
+ <p style="margin:0 0 16px 0; font-size:16px; line-height:24px; color:#262626;">du hast ein neues Passwort angefordert. Über die Schaltfläche unten kannst du eines festlegen.</p>
38
+ </td>
39
+ </tr>
40
+ <tr>
41
+ <td class="ns-px" style="padding:8px 40px 36px 40px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;">
42
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0">
43
+ <tr>
44
+ <td align="center" bgcolor="#2563eb" style="border-radius:6px; mso-padding-alt:13px 28px;">
45
+ <a href="<%= link %>" target="_blank" style="display:inline-block; padding:13px 28px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; font-size:16px; line-height:20px; font-weight:600; color:#ffffff; text-decoration:none; border-radius:6px;">Passwort zurücksetzen</a>
46
+ </td>
47
+ </tr>
48
+ </table>
49
+ <p style="margin:24px 0 0 0; font-size:13px; line-height:20px; color:#737373;">
50
+ Falls die Schaltfläche nicht funktioniert, kopiere diesen Link in deinen Browser:<br>
51
+ <a href="<%= link %>" style="color:#1d4ed8; word-break:break-all; overflow-wrap:break-word;"><%= link %></a>
52
+ </p>
53
+ </td>
54
+ </tr>
55
+ <tr>
56
+ <td class="ns-px" style="padding:24px 40px 32px 40px; border-top:1px solid #e2e8f0; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;">
57
+ <p style="margin:0; font-size:12px; line-height:18px; color:#a3a3a3;">Dies ist eine automatisch versendete Nachricht <% if (brand) { %>zu deinem <%= brand %>-Konto<% } else { %>zu deinem Konto<% } %>. Wenn du kein neues Passwort angefordert hast, kannst du diese E-Mail ignorieren — dein Passwort bleibt unverändert.</p>
58
+ </td>
59
+ </tr>
60
+ </table>
61
+ </td>
62
+ </tr>
63
+ </table>
64
+ </body>
65
+ </html>
@@ -0,0 +1,65 @@
1
+ <% /* `appName` is optional so a caller that omits it cannot turn a password-reset mail into a 500. */ const brand = (typeof appName !== 'undefined' && appName) ? appName : ''; -%>
2
+ <!DOCTYPE html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
8
+ <title>Reset your password</title>
9
+ <style>
10
+ /* Responsive: on phones let the card fill the width and tighten the side
11
+ padding. Clients that ignore <style>/@media still get a fluid card via
12
+ the inline width:100% + max-width:600px below. */
13
+ @media only screen and (max-width: 600px) {
14
+ .ns-px { padding-left: 24px !important; padding-right: 24px !important; }
15
+ .ns-logo { width: 160px !important; height: auto !important; }
16
+ }
17
+ </style>
18
+ </head>
19
+ <body style="margin:0; padding:0; background-color:#f8fafc; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;">
20
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#f8fafc" style="background-color:#f8fafc;">
21
+ <tr>
22
+ <td align="center" style="padding:32px 16px;">
23
+ <table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#ffffff" style="width:100%; max-width:600px; background-color:#ffffff; border:1px solid #e2e8f0; border-radius:8px; overflow:hidden;">
24
+ <!-- Header: the logo when the deployment supplies one, the app name otherwise -->
25
+ <tr>
26
+ <td align="center" bgcolor="#ffffff" style="background-color:#ffffff; padding:32px 32px 24px 32px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;">
27
+ <% if (typeof logoSrc !== 'undefined' && logoSrc) { %>
28
+ <img src="<%= logoSrc %>" alt="<%= brand %>" class="ns-logo" width="200" style="display:block; width:200px; height:auto; border:0; text-decoration:none;">
29
+ <% } else { %>
30
+ <span style="font-size:20px; line-height:26px; font-weight:700; color:#262626;"><%= brand %></span>
31
+ <% } %>
32
+ </td>
33
+ </tr>
34
+ <tr>
35
+ <td class="ns-px" style="padding:36px 40px 8px 40px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;">
36
+ <h1 style="margin:0 0 16px 0; font-size:22px; line-height:28px; font-weight:700; color:#262626;">Hello <%= name %>,</h1>
37
+ <p style="margin:0 0 16px 0; font-size:16px; line-height:24px; color:#262626;">you asked to set a new password. Use the button below to choose one.</p>
38
+ </td>
39
+ </tr>
40
+ <tr>
41
+ <td class="ns-px" style="padding:8px 40px 36px 40px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;">
42
+ <table role="presentation" cellpadding="0" cellspacing="0" border="0">
43
+ <tr>
44
+ <td align="center" bgcolor="#2563eb" style="border-radius:6px; mso-padding-alt:13px 28px;">
45
+ <a href="<%= link %>" target="_blank" style="display:inline-block; padding:13px 28px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; font-size:16px; line-height:20px; font-weight:600; color:#ffffff; text-decoration:none; border-radius:6px;">Reset password</a>
46
+ </td>
47
+ </tr>
48
+ </table>
49
+ <p style="margin:24px 0 0 0; font-size:13px; line-height:20px; color:#737373;">
50
+ If the button doesn't work, copy and paste this link into your browser:<br>
51
+ <a href="<%= link %>" style="color:#1d4ed8; word-break:break-all; overflow-wrap:break-word;"><%= link %></a>
52
+ </p>
53
+ </td>
54
+ </tr>
55
+ <tr>
56
+ <td class="ns-px" style="padding:24px 40px 32px 40px; border-top:1px solid #e2e8f0; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;">
57
+ <p style="margin:0; font-size:12px; line-height:18px; color:#a3a3a3;">This is an automated message regarding <% if (brand) { %>your <%= brand %> account<% } else { %>your account<% } %>. If you did not ask for a password reset, you can safely ignore this email — your password stays unchanged.</p>
58
+ </td>
59
+ </tr>
60
+ </table>
61
+ </td>
62
+ </tr>
63
+ </table>
64
+ </body>
65
+ </html>
@@ -1,3 +1,3 @@
1
1
  <h1>Hello <%= name %>,</h1>
2
2
  <p>you requested a link for setting a new password. Here it is.</p><br />
3
- <a href="<%= link %>">Passwort zurücksetzten</a>
3
+ <a href="<%= link %>">Reset password</a>