@lenne.tech/nest-server 11.31.3 → 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.
- package/.claude/rules/versioning.md +5 -8
- package/CLAUDE.md +3 -3
- package/FRAMEWORK-API.md +4 -2
- package/README.md +1 -0
- package/dist/core/common/helpers/process-diagnostics.helper.d.ts +18 -0
- package/dist/core/common/helpers/process-diagnostics.helper.js +88 -0
- package/dist/core/common/helpers/process-diagnostics.helper.js.map +1 -0
- package/dist/core/common/interfaces/server-options.interface.d.ts +3 -0
- package/dist/core/common/services/brevo.service.d.ts +7 -1
- package/dist/core/common/services/brevo.service.js +37 -16
- package/dist/core/common/services/brevo.service.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js +9 -4
- package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/main.js +5 -2
- package/dist/main.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/docs/REQUEST-LIFECYCLE.md +1 -0
- package/docs/brevo-manual-test.md +166 -0
- package/docs/security-overrides.md +90 -0
- package/migration-guides/11.31.3-to-11.32.0.md +254 -0
- package/package.json +15 -14
- package/src/core/common/helpers/process-diagnostics.helper.spec.ts +310 -0
- package/src/core/common/helpers/process-diagnostics.helper.ts +321 -0
- package/src/core/common/interfaces/server-options.interface.ts +32 -0
- package/src/core/common/services/brevo.service.spec.ts +266 -0
- package/src/core/common/services/brevo.service.ts +100 -17
- package/src/core/modules/better-auth/core-better-auth-email-verification.service.ts +14 -4
- package/src/index.ts +1 -0
- package/src/main.ts +22 -3
|
@@ -23,14 +23,11 @@
|
|
|
23
23
|
## Release Process
|
|
24
24
|
|
|
25
25
|
1. Make changes and ensure all tests pass (`pnpm test`)
|
|
26
|
-
2. **Bump the version in
|
|
27
|
-
- `package.json`
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
script only runs via `pnpm run docs` — it is **not** part of `pnpm run build`. A release commit
|
|
32
|
-
that bumps only `package.json` therefore ships API docs advertising the previous version. Run
|
|
33
|
-
`node extras/update-spectaql-version.mjs` (or edit the file) and commit both together.
|
|
26
|
+
2. **Bump the version in `package.json` → `version`.** `spectaql.yml` → `info.version` (which feeds
|
|
27
|
+
the published GraphQL API docs) is **auto-synced from `package.json`**: `pnpm run check` runs a
|
|
28
|
+
`spectaql:sync` step (`extras/update-spectaql-version.mjs`) that rewrites `spectaql.yml`'s version
|
|
29
|
+
to match, so the two can no longer drift. Just bump `package.json`, run `check`, and commit both.
|
|
30
|
+
(You can also sync manually any time via `pnpm run spectaql:sync`.)
|
|
34
31
|
3. Build the package (`pnpm run build`) — this also regenerates `FRAMEWORK-API.md` with the new version
|
|
35
32
|
4. Publish to npm
|
|
36
33
|
5. Update and test in [nest-server-starter](https://github.com/lenneTech/nest-server-starter)
|
package/CLAUDE.md
CHANGED
|
@@ -397,7 +397,6 @@ These rules apply when building features that execute many times per minute (mon
|
|
|
397
397
|
9. **Queue-based crons must prevent re-enqueue of in-progress items** — if a cron adds jobs to a BullMQ queue faster than the processor consumes them, the queue grows unbounded. Guard with `getWaitingCount()` check before enqueuing.
|
|
398
398
|
|
|
399
399
|
Details: [`docs/process-performance-optimization.md`](docs/process-performance-optimization.md)
|
|
400
|
-
Details: [`docs/subdocument-array-optimization-plan.md`](docs/subdocument-array-optimization-plan.md)
|
|
401
400
|
|
|
402
401
|
## Mongoose Index Placement
|
|
403
402
|
|
|
@@ -421,8 +420,9 @@ Details: [`docs/subdocument-array-optimization-plan.md`](docs/subdocument-array-
|
|
|
421
420
|
|------|---------|
|
|
422
421
|
| [`docs/REQUEST-LIFECYCLE.md`](docs/REQUEST-LIFECYCLE.md) | Complete request lifecycle, security architecture, interceptor chain, decorator reference, CrudService pipeline, Safety Net, diagrams |
|
|
423
422
|
| [`docs/native-driver-security.md`](docs/native-driver-security.md) | Native MongoDB Driver restrictions, secure alternatives, review checklist |
|
|
424
|
-
| [`docs/process-performance-optimization.md`](docs/process-performance-optimization.md) | process() pipeline performance optimizations |
|
|
425
|
-
| [`docs/
|
|
423
|
+
| [`docs/process-performance-optimization.md`](docs/process-performance-optimization.md) | process() pipeline performance optimizations, SubDocument array handling (pushToArray/pullFromArray) |
|
|
424
|
+
| [`docs/security-overrides.md`](docs/security-overrides.md) | Why pnpm `overrides:` do NOT reach consumers, which two are load-bearing, and the rules for writing your own |
|
|
425
|
+
| [`docs/brevo-manual-test.md`](docs/brevo-manual-test.md) | Manual smoke test for `BrevoService` against the live Brevo API (framework repo only) |
|
|
426
426
|
|
|
427
427
|
<!-- lt-dev:url-block:start -->
|
|
428
428
|
|
package/FRAMEWORK-API.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @lenne.tech/nest-server — Framework API Reference
|
|
2
2
|
|
|
3
|
-
> Auto-generated from source code on 2026-07-
|
|
3
|
+
> Auto-generated from source code on 2026-07-22 (v11.32.0)
|
|
4
4
|
> File: `FRAMEWORK-API.md` — compact, machine-readable API surface for Claude Code
|
|
5
5
|
|
|
6
6
|
## CoreModule.forRoot()
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
- `automaticObjectIdFiltering?`: `boolean | undefined` — Automatically detect ObjectIds in string values in FilterQueries
|
|
19
19
|
- `baseUrl?`: `string | undefined` — Base URL of the API server.
|
|
20
20
|
- `betterAuth?`: `boolean | IBetterAuth | undefined` (default: `undefined (enabled with defaults)`) — Configuration for better-auth authentication framework.
|
|
21
|
-
- `brevo?`: `{ apiKey: string; exclude?: RegExp; sender: { email:
|
|
21
|
+
- `brevo?`: `{ apiKey: string; exclude?: RegExp; maxRetries?: number; sender: { email: str...` — Configuration for Brevo
|
|
22
22
|
- `compression?`: `boolean | compression.CompressionOptions | undefined` — Whether to use the compression middleware package to enable gzip compression.
|
|
23
23
|
- `cookies?`: `boolean | ICookiesConfig | undefined` (default: `true`) — Cookie configuration for authentication handling.
|
|
24
24
|
- `cors?`: `boolean | ICorsConfig | undefined` (default: `undefined (enabled with auto-derived origins)`) — CORS (Cross-Origin Resource Sharing) configuration.
|
|
@@ -331,5 +331,7 @@ in consuming projects keep working.
|
|
|
331
331
|
| `src/core/common/decorators/` | @Restricted, @Roles, @CurrentUser, @UnifiedField |
|
|
332
332
|
| `src/core/common/exceptions/` | accessDeniedException — the 401/403 policy |
|
|
333
333
|
| `src/core/common/interceptors/` | CheckResponse, CheckSecurity, ResponseModel |
|
|
334
|
+
| `src/core/common/helpers/process-diagnostics.helper.ts` | installProcessDiagnostics() / handleFatalBootstrapError — opt-in, wire into your own main.ts |
|
|
334
335
|
| `docs/REQUEST-LIFECYCLE.md` | Complete request lifecycle |
|
|
336
|
+
| `docs/security-overrides.md` | pnpm overrides are NOT inherited — two entries your project needs |
|
|
335
337
|
| `.claude/rules/` | Detailed rules for architecture, security, testing |
|
package/README.md
CHANGED
|
@@ -509,6 +509,7 @@ pnpm run unlink:nest-server # pnpm unlink @lenne.tech/nest-server && pnpm inst
|
|
|
509
509
|
## Documentation
|
|
510
510
|
|
|
511
511
|
- [Request Lifecycle](docs/REQUEST-LIFECYCLE.md) — Complete request pipeline, security architecture, interceptor chain
|
|
512
|
+
- [Security Overrides](docs/security-overrides.md) — **Read this**: pnpm `overrides:` are not inherited from this package, so two known-vulnerable transitive deps need an entry in *your* project
|
|
512
513
|
- [Migration Guides](migration-guides/) — Version upgrade instructions
|
|
513
514
|
- [Starter Project](https://github.com/lenneTech/nest-server-starter) — Reference implementation
|
|
514
515
|
- [CLI](https://github.com/lenneTech/cli) — Code generation tools
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface DiagnosticsLogger {
|
|
2
|
+
error: (message: string) => void;
|
|
3
|
+
warn?: (message: string) => void;
|
|
4
|
+
}
|
|
5
|
+
export interface ProcessDiagnosticsOptions {
|
|
6
|
+
exit?: (code: number) => void;
|
|
7
|
+
logger?: DiagnosticsLogger;
|
|
8
|
+
onUnhandledRejection?: 'exit' | 'log';
|
|
9
|
+
reraise?: (signal: NodeJS.Signals) => void;
|
|
10
|
+
shutdownTimeoutMs?: number;
|
|
11
|
+
target?: NodeJS.EventEmitter;
|
|
12
|
+
}
|
|
13
|
+
export declare function installProcessDiagnostics(options?: ProcessDiagnosticsOptions): void;
|
|
14
|
+
export interface FatalBootstrapErrorOptions {
|
|
15
|
+
exit?: (code: number) => void;
|
|
16
|
+
logger?: DiagnosticsLogger;
|
|
17
|
+
}
|
|
18
|
+
export declare function handleFatalBootstrapError(error: unknown, options?: FatalBootstrapErrorOptions): void;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.installProcessDiagnostics = installProcessDiagnostics;
|
|
4
|
+
exports.handleFatalBootstrapError = handleFatalBootstrapError;
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
6
|
+
const logging_helper_1 = require("./logging.helper");
|
|
7
|
+
const MAX_DIAGNOSTIC_CHARS = 16_384;
|
|
8
|
+
function formatDiagnostic(message) {
|
|
9
|
+
const capped = message.length > MAX_DIAGNOSTIC_CHARS ? `${message.slice(0, MAX_DIAGNOSTIC_CHARS)}… [truncated]` : message;
|
|
10
|
+
return (0, logging_helper_1.redactSensitiveText)(capped);
|
|
11
|
+
}
|
|
12
|
+
const defaultDiagnosticsLogger = {
|
|
13
|
+
error: (message) => {
|
|
14
|
+
try {
|
|
15
|
+
(0, node_fs_1.writeSync)(2, `${message}\n`);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
warn: (message) => {
|
|
21
|
+
console.error(message);
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
const TERMINATION_SIGNALS = ['SIGTERM', 'SIGINT', 'SIGHUP', 'SIGQUIT'];
|
|
25
|
+
const installedTargets = new WeakSet();
|
|
26
|
+
function describeError(value) {
|
|
27
|
+
if (value instanceof Error) {
|
|
28
|
+
return value.stack ?? `${value.name}: ${value.message}`;
|
|
29
|
+
}
|
|
30
|
+
return String(value);
|
|
31
|
+
}
|
|
32
|
+
function installProcessDiagnostics(options = {}) {
|
|
33
|
+
const target = options.target ?? process;
|
|
34
|
+
const logger = options.logger ?? defaultDiagnosticsLogger;
|
|
35
|
+
const exit = options.exit ?? ((code) => process.exit(code));
|
|
36
|
+
const reraise = options.reraise ?? ((signal) => process.kill(process.pid, signal));
|
|
37
|
+
const onUnhandledRejection = options.onUnhandledRejection ?? 'log';
|
|
38
|
+
const shutdownTimeoutMs = options.shutdownTimeoutMs ?? 30_000;
|
|
39
|
+
const logTerminal = (message) => logger.error(formatDiagnostic(message));
|
|
40
|
+
const logNonTerminal = (message) => (logger.warn ?? logger.error)(formatDiagnostic(message));
|
|
41
|
+
if (installedTargets.has(target)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
installedTargets.add(target);
|
|
45
|
+
target.on('unhandledRejection', (reason) => {
|
|
46
|
+
if (onUnhandledRejection === 'exit') {
|
|
47
|
+
logTerminal(`[unhandledRejection] ${describeError(reason)}`);
|
|
48
|
+
exit(1);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
logNonTerminal(`[unhandledRejection] ${describeError(reason)}`);
|
|
52
|
+
});
|
|
53
|
+
target.on('uncaughtException', (error) => {
|
|
54
|
+
logTerminal(`[uncaughtException] ${describeError(error)}`);
|
|
55
|
+
exit(1);
|
|
56
|
+
});
|
|
57
|
+
target.on('exit', (code) => {
|
|
58
|
+
if (code !== 0) {
|
|
59
|
+
logTerminal(`[exit] process exiting with code ${String(code)}`);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
for (const signal of TERMINATION_SIGNALS) {
|
|
63
|
+
const handler = (received) => {
|
|
64
|
+
const alone = target.listenerCount(signal) <= 1;
|
|
65
|
+
logTerminal(`[signal] received ${received} — external termination (not an in-process crash)${alone ? '' : ' — another handler owns the shutdown'}`);
|
|
66
|
+
if (alone) {
|
|
67
|
+
target.removeListener(signal, handler);
|
|
68
|
+
reraise(received);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (shutdownTimeoutMs > 0) {
|
|
72
|
+
const watchdog = setTimeout(() => {
|
|
73
|
+
logTerminal(`[signal] shutdown watchdog expired after ${shutdownTimeoutMs}ms — forcing exit`);
|
|
74
|
+
exit(1);
|
|
75
|
+
}, shutdownTimeoutMs);
|
|
76
|
+
watchdog.unref?.();
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
target.on(signal, handler);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function handleFatalBootstrapError(error, options = {}) {
|
|
83
|
+
const logger = options.logger ?? defaultDiagnosticsLogger;
|
|
84
|
+
const exit = options.exit ?? ((code) => process.exit(code));
|
|
85
|
+
logger.error(formatDiagnostic(`[bootstrap] fatal startup error — exiting: ${describeError(error)}`));
|
|
86
|
+
exit(1);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=process-diagnostics.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-diagnostics.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/process-diagnostics.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -213,10 +213,13 @@ export interface IServerOptions {
|
|
|
213
213
|
brevo?: {
|
|
214
214
|
apiKey: string;
|
|
215
215
|
exclude?: RegExp;
|
|
216
|
+
maxRetries?: number;
|
|
216
217
|
sender: {
|
|
217
218
|
email: string;
|
|
218
219
|
name: string;
|
|
219
220
|
};
|
|
221
|
+
throwOnError?: boolean;
|
|
222
|
+
timeoutInSeconds?: number;
|
|
220
223
|
};
|
|
221
224
|
compression?: boolean | compression.CompressionOptions;
|
|
222
225
|
cookies?: boolean | ICookiesConfig;
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import type { BrevoClient } from '@getbrevo/brevo';
|
|
1
3
|
import { ConfigService } from './config.service';
|
|
2
4
|
export declare class BrevoService {
|
|
3
5
|
protected configService: ConfigService;
|
|
4
6
|
brevoConfig: ConfigService['configFastButReadOnly']['brevo'];
|
|
5
|
-
|
|
7
|
+
protected readonly logger: Logger;
|
|
8
|
+
private client;
|
|
6
9
|
constructor(configService: ConfigService);
|
|
7
10
|
sendMail(to: string, templateId: number, params?: object): Promise<unknown>;
|
|
8
11
|
sendHtmlMail(to: string, subject: string, html: string, options?: {
|
|
9
12
|
params?: Record<string, string>;
|
|
10
13
|
}): Promise<unknown>;
|
|
14
|
+
protected buildIdempotencyHeaders(): Record<string, unknown>;
|
|
15
|
+
protected getClient(): Promise<BrevoClient>;
|
|
16
|
+
protected handleSendError(error: unknown, to: string): null;
|
|
11
17
|
}
|
|
@@ -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
|
-
|
|
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
|
|
38
|
-
|
|
37
|
+
const request = {
|
|
38
|
+
headers: this.buildIdempotencyHeaders(),
|
|
39
|
+
params: params,
|
|
39
40
|
templateId,
|
|
40
41
|
to: [{ email: to }],
|
|
41
42
|
};
|
|
42
|
-
const
|
|
43
|
-
return
|
|
43
|
+
const client = await this.getClient();
|
|
44
|
+
return await client.transactionalEmails.sendTransacEmail(request);
|
|
44
45
|
}
|
|
45
46
|
catch (error) {
|
|
46
|
-
|
|
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
|
|
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
|
|
66
|
-
return
|
|
66
|
+
const client = await this.getClient();
|
|
67
|
+
return await client.transactionalEmails.sendTransacEmail(request);
|
|
67
68
|
}
|
|
68
69
|
catch (error) {
|
|
69
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"brevo.service.js","sourceRoot":"","sources":["../../../../src/core/common/services/brevo.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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":";;;;;;;;;;;;;;;;AAAA,2CAAsE;AACtE,2BAA4B;AAC5B,yBAAyB;AACzB,6BAA6B;AAE7B,wEAAgE;AAEhE,uEAAmE;AACnE,yEAAqE;AACrE,uEAAmE;AACnE,6EAAyE;AACzE,6DAAyD;AAczD,MAAM,cAAc,GAAoC;IACtD,2BAA2B,EAAE,IAAI;IACjC,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,IAAI;IACZ,qBAAqB,EAAE,EAAE;IACzB,QAAQ,EAAE,oBAAoB;CAC/B,CAAC;AAyDK,IAAM,sCAAsC,GAA5C,MAAM,sCAAsC;;IAmB5B;IACY;IACA;IAGZ;IAvBF,MAAM,GAAG,IAAI,eAAM,CAAC,wCAAsC,CAAC,IAAI,CAAC,CAAC;IAC1E,MAAM,GAAoC,cAAc,CAAC;IAMlD,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAQ3D,MAAM,CAAU,mBAAmB,GAAG,2BAA2B,CAAC;IAElE,YACqB,aAA4B,EAChB,YAA2B,EAC3B,eAAiC,EAG7C,YAAkC;QALlC,kBAAa,GAAb,aAAa,CAAe;QAChB,iBAAY,GAAZ,YAAY,CAAe;QAC3B,oBAAe,GAAf,eAAe,CAAkB;QAG7C,iBAAY,GAAZ,YAAY,CAAsB;QAErD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAKD,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAKD,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;IAKD,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC;IACjD,CAAC;IAUD,KAAK,CAAC,qBAAqB,CAAC,OAAqC;QAC/D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAChC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAGtB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACnG,OAAO;QACT,CAAC;QAGD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,GAAG,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAKD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAE1C,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,CAAC,KAAK,UAAU,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;QAGD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;
|
|
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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export * from './core/common/helpers/input.helper';
|
|
|
36
36
|
export * from './core/common/helpers/logging.helper';
|
|
37
37
|
export * from './core/common/helpers/meta.helper';
|
|
38
38
|
export * from './core/common/helpers/model.helper';
|
|
39
|
+
export * from './core/common/helpers/process-diagnostics.helper';
|
|
39
40
|
export * from './core/common/helpers/register-enum.helper';
|
|
40
41
|
export * from './core/common/helpers/scim.helper';
|
|
41
42
|
export * from './core/common/helpers/service.helper';
|
package/dist/index.js
CHANGED
|
@@ -51,6 +51,7 @@ __exportStar(require("./core/common/helpers/input.helper"), exports);
|
|
|
51
51
|
__exportStar(require("./core/common/helpers/logging.helper"), exports);
|
|
52
52
|
__exportStar(require("./core/common/helpers/meta.helper"), exports);
|
|
53
53
|
__exportStar(require("./core/common/helpers/model.helper"), exports);
|
|
54
|
+
__exportStar(require("./core/common/helpers/process-diagnostics.helper"), exports);
|
|
54
55
|
__exportStar(require("./core/common/helpers/register-enum.helper"), exports);
|
|
55
56
|
__exportStar(require("./core/common/helpers/scim.helper"), exports);
|
|
56
57
|
__exportStar(require("./core/common/helpers/service.helper"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA,gDAA8B;AAK9B,iEAA+C;AAC/C,qEAAmD;AACnD,kFAAgE;AAChE,kFAAgE;AAChE,sFAAoE;AACpE,6FAA2E;AAC3E,kFAAgE;AAChE,0FAAwE;AACxE,+EAA6D;AAC7D,oFAAkE;AAClE,gFAA8D;AAC9D,2EAAyD;AACzD,kFAAgE;AAChE,mFAAiE;AACjE,+EAA6D;AAC7D,4EAA0D;AAC1D,wEAAsD;AACtD,gEAA8C;AAC9C,sEAAoD;AACpD,mFAAiE;AACjE,kFAAgE;AAChE,sEAAoD;AACpD,sEAAoD;AACpD,uEAAqD;AACrD,uEAAqD;AACrD,kEAAgD;AAChD,yEAAuD;AACvD,oEAAkD;AAClD,sEAAoD;AACpD,uEAAqD;AACrD,2EAAyD;AACzD,sEAAoD;AACpD,qEAAmD;AACnD,uEAAqD;AACrD,oEAAkD;AAClD,qEAAmD;AACnD,mFAAiE;AACjE,6EAA2D;AAC3D,oEAAkD;AAClD,uEAAqD;AACrD,qEAAmD;AACnD,6EAA2D;AAC3D,wEAAsD;AACtD,oEAAkD;AAClD,2EAAyD;AACzD,kEAAgD;AAChD,wFAAsE;AACtE,wFAAsE;AACtE,wFAAsE;AACtE,4FAA0E;AAC1E,4FAA0E;AAC1E,oGAAkF;AAClF,qGAAmF;AACnF,qFAAmE;AACnE,qFAAmE;AACnE,2FAAyE;AACzE,4FAA0E;AAC1E,sFAAoE;AACpE,oFAAkE;AAClE,qFAAmE;AACnE,sFAAoE;AACpE,qFAAmE;AACnE,wEAAsD;AACtD,8EAA4D;AAC5D,6EAA2D;AAC3D,uEAAqD;AACrD,4EAA0D;AAC1D,0EAAwD;AACxD,2EAAyD;AACzD,qFAAmE;AACnE,iFAA+D;AAC/D,mFAAiE;AACjE,+EAA6D;AAC7D,mEAAiD;AACjD,8EAA4D;AAC5D,oEAAkD;AAClD,oEAAkD;AAClD,uEAAqD;AACrD,wEAAsD;AACtD,gFAA8D;AAC9D,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,2EAAyD;AACzD,gFAA8D;AAC9D,wEAAsD;AACtD,iFAA+D;AAC/D,0EAAwD;AACxD,yEAAuD;AACvD,kFAAgE;AAChE,iEAA+C;AAC/C,2EAAyD;AACzD,8DAA4C;AAC5C,+DAA6C;AAC7C,qEAAmD;AACnD,yEAAuD;AACvD,uEAAqD;AACrD,6EAA2D;AAC3D,wEAAsD;AACtD,2EAAyD;AACzD,0EAAwD;AACxD,4EAA0D;AAC1D,iFAA+D;AAC/D,+EAA6D;AAC7D,mEAAiD;AAMjD,+EAA6D;AAC7D,2EAAyD;AACzD,sEAAoD;AACpD,uEAAqD;AACrD,yEAAuD;AACvD,iGAA+E;AAC/E,yFAAuE;AACvE,yFAAuE;AACvE,gGAA8E;AAC9E,wEAAsD;AACtD,0FAAwE;AACxE,kFAAgE;AAChE,yEAAuD;AACvD,qFAAmE;AACnE,qFAAmE;AACnE,yFAAuE;AACvE,0FAAwE;AACxE,2FAAyE;AACzE,uFAAqE;AACrE,sFAAoE;AACpE,iFAA+D;AAC/D,gGAA8E;AAC9E,sFAAoE;AACpE,8EAA4D;AAC5D,uEAAqD;AAMrD,oDAAkC;AAMlC,6DAA2C;AAM3C,4DAA0C;AAM1C,2EAAyD;AACzD,2EAAyD;AACzD,yEAAuD;AACvD,wEAAsD;AACtD,gGAA8E;AAC9E,uFAAqE;AAMrE,6FAA2E;AAC3E,2FAAyE;AACzE,uFAAqE;AACrE,yFAAuE;AACvE,wFAAsE;AAMtE,qDAAmC;AAMnC,yDAAuC;AAMvC,yFAAuE;AACvE,qFAAmE;AACnE,sFAAoE;AACpE,8FAA4E;AAC5E,iFAA+D;AAM/D,2FAAyE;AACzE,uFAAqE;AACrE,wFAAsE;AAMtE,qDAAmC;AAMnC,iFAA+D;AAC/D,+EAA6D;AAC7D,0EAAwD;AACxD,0EAAwD;AACxD,4EAA0D;AAC1D,2EAAyD;AACzD,4EAA0D;AAM1D,sEAAoD;AACpD,wEAAsD;AACtD,oFAAkE;AAClE,6EAA2D;AAC3D,qGAAmF;AAMnF,qDAAmC"}
|
package/dist/main.js
CHANGED
|
@@ -9,6 +9,7 @@ const config_env_1 = require("./config.env");
|
|
|
9
9
|
const filter_args_1 = require("./core/common/args/filter.args");
|
|
10
10
|
const cookies_helper_1 = require("./core/common/helpers/cookies.helper");
|
|
11
11
|
const http_exception_log_filter_1 = require("./core/common/filters/http-exception-log.filter");
|
|
12
|
+
const process_diagnostics_helper_1 = require("./core/common/helpers/process-diagnostics.helper");
|
|
12
13
|
const core_persistence_model_1 = require("./core/common/models/core-persistence.model");
|
|
13
14
|
const core_auth_model_1 = require("./core/modules/auth/core-auth.model");
|
|
14
15
|
const core_user_model_1 = require("./core/modules/user/core-user.model");
|
|
@@ -17,6 +18,7 @@ const auth_model_1 = require("./server/modules/auth/auth.model");
|
|
|
17
18
|
const user_model_1 = require("./server/modules/user/user.model");
|
|
18
19
|
const server_module_1 = require("./server/server.module");
|
|
19
20
|
async function bootstrap() {
|
|
21
|
+
(0, process_diagnostics_helper_1.installProcessDiagnostics)();
|
|
20
22
|
const server = await core_1.NestFactory.create(server_module_1.ServerModule);
|
|
21
23
|
if (config_env_1.default.logExceptions) {
|
|
22
24
|
server.useGlobalFilters(new http_exception_log_filter_1.HttpExceptionLogFilter());
|
|
@@ -69,8 +71,9 @@ async function bootstrap() {
|
|
|
69
71
|
swagger_1.SwaggerModule.setup('swagger', server, documentFactory, {
|
|
70
72
|
jsonDocumentUrl: '/api-docs-json',
|
|
71
73
|
});
|
|
74
|
+
server.enableShutdownHooks();
|
|
72
75
|
await server.listen(config_env_1.default.port, config_env_1.default.hostname);
|
|
73
|
-
console.debug(`Server
|
|
76
|
+
console.debug(`Server started at ${await server.getUrl()}`);
|
|
74
77
|
if (config_env_1.default.execAfterInit) {
|
|
75
78
|
(0, child_process_1.exec)(config_env_1.default.execAfterInit, (error, stdout, stderr) => {
|
|
76
79
|
if (error) {
|
|
@@ -84,5 +87,5 @@ async function bootstrap() {
|
|
|
84
87
|
});
|
|
85
88
|
}
|
|
86
89
|
}
|
|
87
|
-
bootstrap();
|
|
90
|
+
bootstrap().catch(process_diagnostics_helper_1.handleFatalBootstrapError);
|
|
88
91
|
//# sourceMappingURL=main.js.map
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAE3C,6CAAiE;AACjE,iDAAqC;AACrC,2CAA4C;AAC5C,8CAA+C;AAE/C,6CAAqC;AACrC,gEAA4D;AAC5D,yEAAyG;AACzG,+FAAyF;AACzF,wFAAmF;AACnF,yEAAoE;AACpE,yEAAoE;AACpE,gFAA4E;AAC5E,iEAAwD;AACxD,iEAAwD;AACxD,0DAAsD;AAKtD,KAAK,UAAU,SAAS;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|