@lenne.tech/nest-server 11.9.0 → 11.10.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 (131) hide show
  1. package/dist/config.env.js +2 -0
  2. package/dist/config.env.js.map +1 -1
  3. package/dist/core/common/helpers/logging.helper.d.ts +6 -0
  4. package/dist/core/common/helpers/logging.helper.js +55 -0
  5. package/dist/core/common/helpers/logging.helper.js.map +1 -0
  6. package/dist/core/common/interfaces/server-options.interface.d.ts +37 -19
  7. package/dist/core/modules/auth/guards/roles.guard.js +33 -2
  8. package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
  9. package/dist/core/modules/auth/services/core-auth.service.d.ts +5 -5
  10. package/dist/core/modules/auth/services/core-auth.service.js +4 -4
  11. package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
  12. package/dist/core/modules/auth/tokens.decorator.d.ts +1 -1
  13. package/dist/core/modules/better-auth/better-auth.config.js +32 -10
  14. package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
  15. package/dist/core/modules/better-auth/better-auth.resolver.d.ts +16 -16
  16. package/dist/core/modules/better-auth/better-auth.resolver.js +34 -34
  17. package/dist/core/modules/better-auth/better-auth.resolver.js.map +1 -1
  18. package/dist/core/modules/better-auth/better-auth.types.d.ts +2 -1
  19. package/dist/core/modules/better-auth/better-auth.types.js.map +1 -1
  20. package/dist/core/modules/better-auth/core-better-auth-api.middleware.d.ts +10 -0
  21. package/dist/core/modules/better-auth/core-better-auth-api.middleware.js +91 -0
  22. package/dist/core/modules/better-auth/core-better-auth-api.middleware.js.map +1 -0
  23. package/dist/core/modules/better-auth/core-better-auth-auth.model.d.ts +9 -0
  24. package/dist/core/modules/better-auth/{better-auth-auth.model.js → core-better-auth-auth.model.js} +17 -17
  25. package/dist/core/modules/better-auth/core-better-auth-auth.model.js.map +1 -0
  26. package/dist/core/modules/better-auth/{better-auth-migration-status.model.d.ts → core-better-auth-migration-status.model.d.ts} +1 -1
  27. package/dist/core/modules/better-auth/{better-auth-migration-status.model.js → core-better-auth-migration-status.model.js} +14 -14
  28. package/dist/core/modules/better-auth/core-better-auth-migration-status.model.js.map +1 -0
  29. package/dist/core/modules/better-auth/{better-auth-models.d.ts → core-better-auth-models.d.ts} +8 -8
  30. package/dist/core/modules/better-auth/{better-auth-models.js → core-better-auth-models.js} +61 -61
  31. package/dist/core/modules/better-auth/core-better-auth-models.js.map +1 -0
  32. package/dist/core/modules/better-auth/core-better-auth-rate-limit.middleware.d.ts +12 -0
  33. package/dist/core/modules/better-auth/{better-auth-rate-limit.middleware.js → core-better-auth-rate-limit.middleware.js} +10 -10
  34. package/dist/core/modules/better-auth/core-better-auth-rate-limit.middleware.js.map +1 -0
  35. package/dist/core/modules/better-auth/{better-auth-rate-limiter.service.d.ts → core-better-auth-rate-limiter.service.d.ts} +1 -1
  36. package/dist/core/modules/better-auth/{better-auth-rate-limiter.service.js → core-better-auth-rate-limiter.service.js} +8 -8
  37. package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.js.map +1 -0
  38. package/dist/core/modules/better-auth/{better-auth-user.mapper.d.ts → core-better-auth-user.mapper.d.ts} +1 -1
  39. package/dist/core/modules/better-auth/{better-auth-user.mapper.js → core-better-auth-user.mapper.js} +10 -9
  40. package/dist/core/modules/better-auth/core-better-auth-user.mapper.js.map +1 -0
  41. package/dist/core/modules/better-auth/core-better-auth-web.helper.d.ts +19 -0
  42. package/dist/core/modules/better-auth/core-better-auth-web.helper.js +152 -0
  43. package/dist/core/modules/better-auth/core-better-auth-web.helper.js.map +1 -0
  44. package/dist/core/modules/better-auth/core-better-auth.controller.d.ts +23 -32
  45. package/dist/core/modules/better-auth/core-better-auth.controller.js +184 -201
  46. package/dist/core/modules/better-auth/core-better-auth.controller.js.map +1 -1
  47. package/dist/core/modules/better-auth/core-better-auth.middleware.d.ts +22 -0
  48. package/dist/core/modules/better-auth/{better-auth.middleware.js → core-better-auth.middleware.js} +45 -18
  49. package/dist/core/modules/better-auth/core-better-auth.middleware.js.map +1 -0
  50. package/dist/core/modules/better-auth/{better-auth.module.d.ts → core-better-auth.module.d.ts} +6 -6
  51. package/dist/core/modules/better-auth/{better-auth.module.js → core-better-auth.module.js} +65 -60
  52. package/dist/core/modules/better-auth/core-better-auth.module.js.map +1 -0
  53. package/dist/core/modules/better-auth/core-better-auth.resolver.d.ts +19 -19
  54. package/dist/core/modules/better-auth/core-better-auth.resolver.js +18 -18
  55. package/dist/core/modules/better-auth/core-better-auth.resolver.js.map +1 -1
  56. package/dist/core/modules/better-auth/{better-auth.service.d.ts → core-better-auth.service.d.ts} +3 -2
  57. package/dist/core/modules/better-auth/{better-auth.service.js → core-better-auth.service.js} +75 -35
  58. package/dist/core/modules/better-auth/core-better-auth.service.js.map +1 -0
  59. package/dist/core/modules/better-auth/index.d.ts +11 -9
  60. package/dist/core/modules/better-auth/index.js +11 -9
  61. package/dist/core/modules/better-auth/index.js.map +1 -1
  62. package/dist/core/modules/error-code/core-error-code.controller.js.map +1 -1
  63. package/dist/core/modules/user/interfaces/core-user-service-options.interface.d.ts +2 -2
  64. package/dist/core.module.js +6 -6
  65. package/dist/core.module.js.map +1 -1
  66. package/dist/index.d.ts +1 -0
  67. package/dist/index.js +1 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/server/modules/better-auth/better-auth.controller.d.ts +5 -5
  70. package/dist/server/modules/better-auth/better-auth.controller.js +4 -4
  71. package/dist/server/modules/better-auth/better-auth.controller.js.map +1 -1
  72. package/dist/server/modules/better-auth/better-auth.module.js +3 -3
  73. package/dist/server/modules/better-auth/better-auth.module.js.map +1 -1
  74. package/dist/server/modules/better-auth/better-auth.resolver.d.ts +17 -17
  75. package/dist/server/modules/better-auth/better-auth.resolver.js +18 -18
  76. package/dist/server/modules/better-auth/better-auth.resolver.js.map +1 -1
  77. package/dist/server/modules/user/user.service.d.ts +2 -2
  78. package/dist/server/modules/user/user.service.js +2 -2
  79. package/dist/server/modules/user/user.service.js.map +1 -1
  80. package/dist/test/test.helper.d.ts +1 -0
  81. package/dist/test/test.helper.js +5 -1
  82. package/dist/test/test.helper.js.map +1 -1
  83. package/dist/tsconfig.build.tsbuildinfo +1 -1
  84. package/package.json +5 -3
  85. package/src/config.env.ts +15 -0
  86. package/src/core/common/helpers/logging.helper.ts +134 -0
  87. package/src/core/common/interfaces/server-options.interface.ts +419 -234
  88. package/src/core/modules/auth/guards/roles.guard.ts +44 -3
  89. package/src/core/modules/auth/services/core-auth.service.ts +4 -4
  90. package/src/core/modules/better-auth/ARCHITECTURE.md +102 -0
  91. package/src/core/modules/better-auth/INTEGRATION-CHECKLIST.md +277 -8
  92. package/src/core/modules/better-auth/README.md +97 -53
  93. package/src/core/modules/better-auth/better-auth.config.ts +66 -18
  94. package/src/core/modules/better-auth/better-auth.resolver.ts +32 -32
  95. package/src/core/modules/better-auth/better-auth.types.ts +3 -2
  96. package/src/core/modules/better-auth/core-better-auth-api.middleware.ts +134 -0
  97. package/src/core/modules/better-auth/{better-auth-auth.model.ts → core-better-auth-auth.model.ts} +6 -6
  98. package/src/core/modules/better-auth/{better-auth-migration-status.model.ts → core-better-auth-migration-status.model.ts} +1 -1
  99. package/src/core/modules/better-auth/{better-auth-models.ts → core-better-auth-models.ts} +9 -9
  100. package/src/core/modules/better-auth/{better-auth-rate-limit.middleware.ts → core-better-auth-rate-limit.middleware.ts} +5 -5
  101. package/src/core/modules/better-auth/{better-auth-rate-limiter.service.ts → core-better-auth-rate-limiter.service.ts} +2 -2
  102. package/src/core/modules/better-auth/{better-auth-user.mapper.ts → core-better-auth-user.mapper.ts} +4 -3
  103. package/src/core/modules/better-auth/core-better-auth-web.helper.ts +272 -0
  104. package/src/core/modules/better-auth/core-better-auth.controller.ts +386 -230
  105. package/src/core/modules/better-auth/{better-auth.middleware.ts → core-better-auth.middleware.ts} +57 -17
  106. package/src/core/modules/better-auth/{better-auth.module.ts → core-better-auth.module.ts} +77 -66
  107. package/src/core/modules/better-auth/core-better-auth.resolver.ts +42 -42
  108. package/src/core/modules/better-auth/{better-auth.service.ts → core-better-auth.service.ts} +86 -40
  109. package/src/core/modules/better-auth/index.ts +18 -11
  110. package/src/core/modules/error-code/INTEGRATION-CHECKLIST.md +4 -1
  111. package/src/core/modules/error-code/core-error-code.controller.ts +3 -2
  112. package/src/core/modules/user/interfaces/core-user-service-options.interface.ts +3 -3
  113. package/src/core.module.ts +12 -12
  114. package/src/index.ts +1 -0
  115. package/src/server/modules/better-auth/better-auth.controller.ts +4 -4
  116. package/src/server/modules/better-auth/better-auth.module.ts +1 -1
  117. package/src/server/modules/better-auth/better-auth.resolver.ts +31 -31
  118. package/src/server/modules/user/user.service.ts +2 -2
  119. package/src/test/test.helper.ts +13 -1
  120. package/dist/core/modules/better-auth/better-auth-auth.model.d.ts +0 -9
  121. package/dist/core/modules/better-auth/better-auth-auth.model.js.map +0 -1
  122. package/dist/core/modules/better-auth/better-auth-migration-status.model.js.map +0 -1
  123. package/dist/core/modules/better-auth/better-auth-models.js.map +0 -1
  124. package/dist/core/modules/better-auth/better-auth-rate-limit.middleware.d.ts +0 -12
  125. package/dist/core/modules/better-auth/better-auth-rate-limit.middleware.js.map +0 -1
  126. package/dist/core/modules/better-auth/better-auth-rate-limiter.service.js.map +0 -1
  127. package/dist/core/modules/better-auth/better-auth-user.mapper.js.map +0 -1
  128. package/dist/core/modules/better-auth/better-auth.middleware.d.ts +0 -21
  129. package/dist/core/modules/better-auth/better-auth.middleware.js.map +0 -1
  130. package/dist/core/modules/better-auth/better-auth.module.js.map +0 -1
  131. package/dist/core/modules/better-auth/better-auth.service.js.map +0 -1
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_BODY_SIZE = exports.BETTER_AUTH_COOKIE_NAMES = void 0;
4
+ exports.extractSessionToken = extractSessionToken;
5
+ exports.parseCookieHeader = parseCookieHeader;
6
+ exports.sendWebResponse = sendWebResponse;
7
+ exports.signCookieValue = signCookieValue;
8
+ exports.toWebRequest = toWebRequest;
9
+ const crypto = require("crypto");
10
+ exports.BETTER_AUTH_COOKIE_NAMES = {
11
+ BETTER_AUTH_SESSION: 'better-auth.session_token',
12
+ TOKEN: 'token',
13
+ };
14
+ exports.MAX_BODY_SIZE = 1024 * 1024;
15
+ function extractSessionToken(req, basePath = 'iam') {
16
+ const authHeader = req.headers.authorization;
17
+ if (authHeader?.startsWith('Bearer ')) {
18
+ return authHeader.substring(7);
19
+ }
20
+ const normalizedBasePath = basePath.replace(/^\//, '').replace(/\//g, '.');
21
+ const cookieNames = [
22
+ `${normalizedBasePath}.session_token`,
23
+ exports.BETTER_AUTH_COOKIE_NAMES.BETTER_AUTH_SESSION,
24
+ exports.BETTER_AUTH_COOKIE_NAMES.TOKEN,
25
+ ];
26
+ const cookies = req.cookies || parseCookieHeader(req.headers.cookie);
27
+ for (const name of cookieNames) {
28
+ const token = cookies?.[name];
29
+ if (token && typeof token === 'string') {
30
+ return token;
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ function parseCookieHeader(cookieHeader) {
36
+ if (!cookieHeader) {
37
+ return {};
38
+ }
39
+ const cookies = {};
40
+ const pairs = cookieHeader.split(';');
41
+ for (const pair of pairs) {
42
+ const [name, ...valueParts] = pair.trim().split('=');
43
+ if (name && valueParts.length > 0) {
44
+ cookies[name.trim()] = valueParts.join('=').trim();
45
+ }
46
+ }
47
+ return cookies;
48
+ }
49
+ async function sendWebResponse(res, webResponse) {
50
+ res.status(webResponse.status);
51
+ webResponse.headers.forEach((value, key) => {
52
+ const lowerKey = key.toLowerCase();
53
+ if (lowerKey === 'content-encoding' || lowerKey === 'transfer-encoding') {
54
+ return;
55
+ }
56
+ res.setHeader(key, value);
57
+ });
58
+ if (webResponse.body) {
59
+ const reader = webResponse.body.getReader();
60
+ try {
61
+ while (true) {
62
+ const { done, value } = await reader.read();
63
+ if (done)
64
+ break;
65
+ res.write(value);
66
+ }
67
+ }
68
+ finally {
69
+ reader.releaseLock();
70
+ }
71
+ }
72
+ res.end();
73
+ }
74
+ function signCookieValue(value, secret) {
75
+ if (!secret) {
76
+ throw new Error('Cannot sign cookie: Better Auth secret is not configured');
77
+ }
78
+ const signature = crypto
79
+ .createHmac('sha256', secret)
80
+ .update(value)
81
+ .digest('base64');
82
+ const signedValue = `${value}.${signature}`;
83
+ return encodeURIComponent(signedValue);
84
+ }
85
+ async function toWebRequest(req, options) {
86
+ const { basePath, baseUrl, logger, secret, sessionToken } = options;
87
+ const url = new URL(req.originalUrl || req.url, baseUrl);
88
+ const headers = new Headers();
89
+ for (const [key, value] of Object.entries(req.headers)) {
90
+ if (typeof value === 'string') {
91
+ headers.set(key, value);
92
+ }
93
+ else if (Array.isArray(value)) {
94
+ headers.set(key, value.join(', '));
95
+ }
96
+ }
97
+ if (sessionToken) {
98
+ headers.set('authorization', `Bearer ${sessionToken}`);
99
+ const normalizedBasePath = basePath?.replace(/^\//, '').replace(/\//g, '.') || 'iam';
100
+ const existingCookieString = headers.get('cookie') || '';
101
+ let signedToken;
102
+ if (secret) {
103
+ signedToken = signCookieValue(sessionToken, secret);
104
+ }
105
+ else {
106
+ logger?.warn('No Better Auth secret configured - cookies will not be signed');
107
+ signedToken = sessionToken;
108
+ }
109
+ const primaryCookieName = `${normalizedBasePath}.session_token`;
110
+ const sessionCookieNames = [
111
+ primaryCookieName,
112
+ exports.BETTER_AUTH_COOKIE_NAMES.BETTER_AUTH_SESSION,
113
+ ];
114
+ const existingCookies = parseCookieHeader(existingCookieString);
115
+ for (const cookieName of sessionCookieNames) {
116
+ existingCookies[cookieName] = signedToken;
117
+ }
118
+ if (!existingCookies[exports.BETTER_AUTH_COOKIE_NAMES.TOKEN]) {
119
+ existingCookies[exports.BETTER_AUTH_COOKIE_NAMES.TOKEN] = sessionToken;
120
+ }
121
+ const newCookieString = Object.entries(existingCookies)
122
+ .map(([name, value]) => `${name}=${value}`)
123
+ .join('; ');
124
+ headers.set('cookie', newCookieString);
125
+ }
126
+ const init = {
127
+ headers,
128
+ method: req.method,
129
+ };
130
+ if (req.method !== 'GET' && req.method !== 'HEAD') {
131
+ if (req.body && typeof req.body === 'object' && Object.keys(req.body).length > 0) {
132
+ init.body = JSON.stringify(req.body);
133
+ headers.set('content-type', 'application/json');
134
+ }
135
+ else if (req.readable) {
136
+ const chunks = [];
137
+ let totalSize = 0;
138
+ for await (const chunk of req) {
139
+ totalSize += chunk.length;
140
+ if (totalSize > exports.MAX_BODY_SIZE) {
141
+ throw new Error(`Request body too large (max ${exports.MAX_BODY_SIZE} bytes)`);
142
+ }
143
+ chunks.push(chunk);
144
+ }
145
+ if (chunks.length > 0) {
146
+ init.body = Buffer.concat(chunks);
147
+ }
148
+ }
149
+ }
150
+ return new globalThis.Request(url.toString(), init);
151
+ }
152
+ //# sourceMappingURL=core-better-auth-web.helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-better-auth-web.helper.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth-web.helper.ts"],"names":[],"mappings":"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"}
@@ -1,67 +1,58 @@
1
1
  import { Logger } from '@nestjs/common';
2
2
  import { Request, Response } from 'express';
3
3
  import { ConfigService } from '../../common/services/config.service';
4
- import { BetterAuthSessionUser, BetterAuthUserMapper } from './better-auth-user.mapper';
5
- import { BetterAuthService } from './better-auth.service';
6
- export declare class BetterAuthSessionInfo {
4
+ import { BetterAuthSessionUser, CoreBetterAuthUserMapper } from './core-better-auth-user.mapper';
5
+ import { CoreBetterAuthService } from './core-better-auth.service';
6
+ export declare class CoreBetterAuthSessionInfo {
7
7
  expiresAt: string;
8
8
  id: string;
9
9
  }
10
- export declare class BetterAuthUserResponse {
10
+ export declare class CoreBetterAuthUserResponse {
11
11
  email: string;
12
12
  emailVerified: boolean;
13
13
  id: string;
14
14
  name: string;
15
15
  twoFactorEnabled?: boolean;
16
16
  }
17
- export declare class BetterAuthResponse {
17
+ export declare class CoreBetterAuthResponse {
18
18
  error?: string;
19
19
  requiresTwoFactor?: boolean;
20
- session?: BetterAuthSessionInfo;
20
+ session?: CoreBetterAuthSessionInfo;
21
21
  success: boolean;
22
22
  token?: string;
23
- user?: BetterAuthUserResponse;
23
+ user?: CoreBetterAuthUserResponse;
24
24
  }
25
- export declare class BetterAuthSignInInput {
25
+ export declare class CoreBetterAuthSignInInput {
26
26
  email: string;
27
27
  password: string;
28
28
  }
29
- export declare class BetterAuthSignUpInput {
29
+ export declare class CoreBetterAuthSignUpInput {
30
30
  email: string;
31
31
  name?: string;
32
32
  password: string;
33
33
  }
34
- export declare class BetterAuthTwoFactorInput {
35
- code: string;
36
- }
37
- export declare class BetterAuthTwoFactorSetupResponse {
38
- backupCodes: string[];
39
- success: boolean;
40
- totpSecret: string;
41
- totpUri: string;
42
- }
43
34
  export declare class CoreBetterAuthController {
44
- protected readonly betterAuthService: BetterAuthService;
45
- protected readonly userMapper: BetterAuthUserMapper;
35
+ protected readonly betterAuthService: CoreBetterAuthService;
36
+ protected readonly userMapper: CoreBetterAuthUserMapper;
46
37
  protected readonly configService: ConfigService;
47
38
  protected readonly logger: Logger;
48
- constructor(betterAuthService: BetterAuthService, userMapper: BetterAuthUserMapper, configService: ConfigService);
49
- signIn(res: Response, input: BetterAuthSignInInput): Promise<BetterAuthResponse>;
50
- private attemptSignIn;
51
- signUp(res: Response, input: BetterAuthSignUpInput): Promise<BetterAuthResponse>;
52
- signOut(req: Request, res: Response): Promise<BetterAuthResponse>;
53
- getSession(req: Request): Promise<BetterAuthResponse>;
54
- enableTwoFactor(req: Request): Promise<BetterAuthResponse | BetterAuthTwoFactorSetupResponse>;
55
- verifyTwoFactor(req: Request, res: Response, input: BetterAuthTwoFactorInput): Promise<BetterAuthResponse>;
56
- disableTwoFactor(req: Request): Promise<BetterAuthResponse>;
39
+ constructor(betterAuthService: CoreBetterAuthService, userMapper: CoreBetterAuthUserMapper, configService: ConfigService);
40
+ signIn(req: Request, res: Response, input: CoreBetterAuthSignInInput): Promise<CoreBetterAuthResponse>;
41
+ signUp(res: Response, input: CoreBetterAuthSignUpInput): Promise<CoreBetterAuthResponse>;
42
+ signOut(req: Request, res: Response): Promise<CoreBetterAuthResponse>;
43
+ getSession(req: Request): Promise<CoreBetterAuthResponse>;
44
+ handlePluginRoutes(req: Request, res: Response): Promise<void>;
57
45
  protected ensureEnabled(): void;
58
46
  protected extractSessionToken(req: Request): null | string;
59
47
  protected extractHeaders(req: Request): Headers;
60
48
  protected mapSession(session: null | undefined | {
61
49
  expiresAt: Date;
62
50
  id: string;
63
- }): BetterAuthSessionInfo | undefined;
64
- protected mapUser(sessionUser: BetterAuthSessionUser, _mappedUser: any): BetterAuthUserResponse;
65
- protected processCookies(res: Response, result: BetterAuthResponse): BetterAuthResponse;
51
+ token?: string;
52
+ }): CoreBetterAuthSessionInfo | undefined;
53
+ protected mapUser(sessionUser: BetterAuthSessionUser, _mappedUser: any): CoreBetterAuthUserResponse;
54
+ protected processCookies(res: Response, result: CoreBetterAuthResponse, sessionToken?: string): CoreBetterAuthResponse;
66
55
  protected clearAuthCookies(res: Response): void;
56
+ protected handleBetterAuthPlugins(req: Request, res: Response): Promise<void>;
57
+ private getSessionTokenFromRequest;
67
58
  }