@lenne.tech/nest-server 11.6.0 → 11.6.2

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 (87) hide show
  1. package/dist/config.env.js +141 -0
  2. package/dist/config.env.js.map +1 -1
  3. package/dist/core/common/decorators/graphql-populate.decorator.d.ts +2 -2
  4. package/dist/core/common/decorators/restricted.decorator.d.ts +1 -0
  5. package/dist/core/common/decorators/restricted.decorator.js +1 -1
  6. package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
  7. package/dist/core/common/helpers/input.helper.d.ts +1 -0
  8. package/dist/core/common/helpers/input.helper.js +1 -1
  9. package/dist/core/common/helpers/input.helper.js.map +1 -1
  10. package/dist/core/common/interceptors/check-security.interceptor.js +4 -3
  11. package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -1
  12. package/dist/core/common/interfaces/server-options.interface.d.ts +50 -0
  13. package/dist/core/modules/auth/auth-guard-strategy.enum.d.ts +1 -0
  14. package/dist/core/modules/auth/auth-guard-strategy.enum.js +1 -0
  15. package/dist/core/modules/auth/auth-guard-strategy.enum.js.map +1 -1
  16. package/dist/core/modules/auth/guards/auth.guard.js +11 -5
  17. package/dist/core/modules/auth/guards/auth.guard.js.map +1 -1
  18. package/dist/core/modules/auth/tokens.decorator.d.ts +1 -1
  19. package/dist/core/modules/better-auth/better-auth-auth.model.d.ts +9 -0
  20. package/dist/core/modules/better-auth/better-auth-auth.model.js +63 -0
  21. package/dist/core/modules/better-auth/better-auth-auth.model.js.map +1 -0
  22. package/dist/core/modules/better-auth/better-auth-models.d.ts +44 -0
  23. package/dist/core/modules/better-auth/better-auth-models.js +185 -0
  24. package/dist/core/modules/better-auth/better-auth-models.js.map +1 -0
  25. package/dist/core/modules/better-auth/better-auth-rate-limit.middleware.d.ts +12 -0
  26. package/dist/core/modules/better-auth/better-auth-rate-limit.middleware.js +70 -0
  27. package/dist/core/modules/better-auth/better-auth-rate-limit.middleware.js.map +1 -0
  28. package/dist/core/modules/better-auth/better-auth-rate-limiter.service.d.ts +32 -0
  29. package/dist/core/modules/better-auth/better-auth-rate-limiter.service.js +173 -0
  30. package/dist/core/modules/better-auth/better-auth-rate-limiter.service.js.map +1 -0
  31. package/dist/core/modules/better-auth/better-auth-user.mapper.d.ts +43 -0
  32. package/dist/core/modules/better-auth/better-auth-user.mapper.js +159 -0
  33. package/dist/core/modules/better-auth/better-auth-user.mapper.js.map +1 -0
  34. package/dist/core/modules/better-auth/better-auth.config.d.ts +9 -0
  35. package/dist/core/modules/better-auth/better-auth.config.js +251 -0
  36. package/dist/core/modules/better-auth/better-auth.config.js.map +1 -0
  37. package/dist/core/modules/better-auth/better-auth.middleware.d.ts +20 -0
  38. package/dist/core/modules/better-auth/better-auth.middleware.js +79 -0
  39. package/dist/core/modules/better-auth/better-auth.middleware.js.map +1 -0
  40. package/dist/core/modules/better-auth/better-auth.module.d.ts +30 -0
  41. package/dist/core/modules/better-auth/better-auth.module.js +265 -0
  42. package/dist/core/modules/better-auth/better-auth.module.js.map +1 -0
  43. package/dist/core/modules/better-auth/better-auth.resolver.d.ts +49 -0
  44. package/dist/core/modules/better-auth/better-auth.resolver.js +539 -0
  45. package/dist/core/modules/better-auth/better-auth.resolver.js.map +1 -0
  46. package/dist/core/modules/better-auth/better-auth.service.d.ts +38 -0
  47. package/dist/core/modules/better-auth/better-auth.service.js +151 -0
  48. package/dist/core/modules/better-auth/better-auth.service.js.map +1 -0
  49. package/dist/core/modules/better-auth/better-auth.types.d.ts +38 -0
  50. package/dist/core/modules/better-auth/better-auth.types.js +15 -0
  51. package/dist/core/modules/better-auth/better-auth.types.js.map +1 -0
  52. package/dist/core/modules/better-auth/index.d.ts +11 -0
  53. package/dist/core/modules/better-auth/index.js +28 -0
  54. package/dist/core/modules/better-auth/index.js.map +1 -0
  55. package/dist/core/modules/user/core-user.model.d.ts +2 -0
  56. package/dist/core/modules/user/core-user.model.js +21 -0
  57. package/dist/core/modules/user/core-user.model.js.map +1 -1
  58. package/dist/core.module.js +7 -0
  59. package/dist/core.module.js.map +1 -1
  60. package/dist/index.d.ts +1 -0
  61. package/dist/index.js +1 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/tsconfig.build.tsbuildinfo +1 -1
  64. package/package.json +9 -1
  65. package/src/config.env.ts +148 -1
  66. package/src/core/common/decorators/restricted.decorator.ts +2 -2
  67. package/src/core/common/helpers/input.helper.ts +2 -2
  68. package/src/core/common/interceptors/check-security.interceptor.ts +6 -5
  69. package/src/core/common/interfaces/server-options.interface.ts +344 -20
  70. package/src/core/modules/auth/auth-guard-strategy.enum.ts +1 -0
  71. package/src/core/modules/auth/guards/auth.guard.ts +20 -6
  72. package/src/core/modules/better-auth/README.md +1096 -0
  73. package/src/core/modules/better-auth/better-auth-auth.model.ts +69 -0
  74. package/src/core/modules/better-auth/better-auth-models.ts +143 -0
  75. package/src/core/modules/better-auth/better-auth-rate-limit.middleware.ts +113 -0
  76. package/src/core/modules/better-auth/better-auth-rate-limiter.service.ts +326 -0
  77. package/src/core/modules/better-auth/better-auth-user.mapper.ts +269 -0
  78. package/src/core/modules/better-auth/better-auth.config.ts +483 -0
  79. package/src/core/modules/better-auth/better-auth.middleware.ts +111 -0
  80. package/src/core/modules/better-auth/better-auth.module.ts +433 -0
  81. package/src/core/modules/better-auth/better-auth.resolver.ts +678 -0
  82. package/src/core/modules/better-auth/better-auth.service.ts +323 -0
  83. package/src/core/modules/better-auth/better-auth.types.ts +75 -0
  84. package/src/core/modules/better-auth/index.ts +25 -0
  85. package/src/core/modules/user/core-user.model.ts +29 -0
  86. package/src/core.module.ts +12 -0
  87. package/src/index.ts +6 -0
@@ -0,0 +1,539 @@
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
+ var BetterAuthResolver_1;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.BetterAuthResolver = void 0;
17
+ const common_1 = require("@nestjs/common");
18
+ const graphql_1 = require("@nestjs/graphql");
19
+ const roles_decorator_1 = require("../../common/decorators/roles.decorator");
20
+ const role_enum_1 = require("../../common/enums/role.enum");
21
+ const auth_guard_strategy_enum_1 = require("../auth/auth-guard-strategy.enum");
22
+ const auth_guard_1 = require("../auth/guards/auth.guard");
23
+ const better_auth_auth_model_1 = require("./better-auth-auth.model");
24
+ const better_auth_models_1 = require("./better-auth-models");
25
+ const better_auth_user_mapper_1 = require("./better-auth-user.mapper");
26
+ const better_auth_service_1 = require("./better-auth.service");
27
+ const better_auth_types_1 = require("./better-auth.types");
28
+ let BetterAuthResolver = BetterAuthResolver_1 = class BetterAuthResolver {
29
+ constructor(betterAuthService, userMapper) {
30
+ this.betterAuthService = betterAuthService;
31
+ this.userMapper = userMapper;
32
+ this.logger = new common_1.Logger(BetterAuthResolver_1.name);
33
+ }
34
+ async betterAuthSession(ctx) {
35
+ if (!this.betterAuthService.isEnabled()) {
36
+ return null;
37
+ }
38
+ const { session, user } = await this.betterAuthService.getSession(ctx.req);
39
+ if (!session || !user) {
40
+ return null;
41
+ }
42
+ return {
43
+ expiresAt: session.expiresAt,
44
+ id: session.id,
45
+ user: {
46
+ email: user.email,
47
+ emailVerified: user.emailVerified,
48
+ id: user.id,
49
+ name: user.name,
50
+ },
51
+ };
52
+ }
53
+ betterAuthEnabled() {
54
+ return this.betterAuthService.isEnabled();
55
+ }
56
+ betterAuthFeatures() {
57
+ return {
58
+ enabled: this.betterAuthService.isEnabled(),
59
+ jwt: this.betterAuthService.isJwtEnabled(),
60
+ legacyPassword: this.betterAuthService.isLegacyPasswordEnabled(),
61
+ passkey: this.betterAuthService.isPasskeyEnabled(),
62
+ socialProviders: this.betterAuthService.getEnabledSocialProviders(),
63
+ twoFactor: this.betterAuthService.isTwoFactorEnabled(),
64
+ };
65
+ }
66
+ async betterAuthSignIn(email, password, _ctx) {
67
+ this.ensureEnabled();
68
+ const api = this.betterAuthService.getApi();
69
+ if (!api) {
70
+ throw new common_1.BadRequestException('Better-Auth API not available');
71
+ }
72
+ try {
73
+ const response = (await api.signInEmail({
74
+ body: { email, password },
75
+ }));
76
+ if (!response) {
77
+ throw new common_1.UnauthorizedException('Invalid credentials');
78
+ }
79
+ if ((0, better_auth_types_1.requires2FA)(response)) {
80
+ return {
81
+ requiresTwoFactor: true,
82
+ success: false,
83
+ user: null,
84
+ };
85
+ }
86
+ if ((0, better_auth_types_1.hasUser)(response)) {
87
+ const sessionUser = response.user;
88
+ const mappedUser = await this.userMapper.mapSessionUser(sessionUser);
89
+ const token = this.betterAuthService.isJwtEnabled() ? response.token : undefined;
90
+ return {
91
+ requiresTwoFactor: false,
92
+ session: (0, better_auth_types_1.hasSession)(response) ? this.mapSessionInfo(response.session) : null,
93
+ success: true,
94
+ token,
95
+ user: mappedUser ? this.mapToUserModel(mappedUser) : null,
96
+ };
97
+ }
98
+ throw new common_1.UnauthorizedException('Invalid credentials');
99
+ }
100
+ catch (error) {
101
+ this.logger.debug(`Sign-in error: ${error instanceof Error ? error.message : 'Unknown error'}`);
102
+ throw new common_1.UnauthorizedException('Invalid credentials');
103
+ }
104
+ }
105
+ async betterAuthSignUp(email, password, name) {
106
+ this.ensureEnabled();
107
+ const api = this.betterAuthService.getApi();
108
+ if (!api) {
109
+ throw new common_1.BadRequestException('Better-Auth API not available');
110
+ }
111
+ try {
112
+ const response = (await api.signUpEmail({
113
+ body: {
114
+ email,
115
+ name: name || email.split('@')[0],
116
+ password,
117
+ },
118
+ }));
119
+ if (!response) {
120
+ throw new common_1.BadRequestException('Sign-up failed');
121
+ }
122
+ if ((0, better_auth_types_1.hasUser)(response)) {
123
+ const sessionUser = response.user;
124
+ await this.userMapper.linkOrCreateUser(sessionUser);
125
+ const mappedUser = await this.userMapper.mapSessionUser(sessionUser);
126
+ return {
127
+ requiresTwoFactor: false,
128
+ session: (0, better_auth_types_1.hasSession)(response) ? this.mapSessionInfo(response.session) : null,
129
+ success: true,
130
+ user: mappedUser ? this.mapToUserModel(mappedUser) : null,
131
+ };
132
+ }
133
+ throw new common_1.BadRequestException('Sign-up failed');
134
+ }
135
+ catch (error) {
136
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
137
+ this.logger.debug(`Sign-up error: ${errorMessage}`);
138
+ if (errorMessage.includes('already exists')) {
139
+ throw new common_1.BadRequestException('User with this email already exists');
140
+ }
141
+ throw new common_1.BadRequestException('Sign-up failed');
142
+ }
143
+ }
144
+ async betterAuthSignOut(ctx) {
145
+ if (!this.betterAuthService.isEnabled()) {
146
+ return false;
147
+ }
148
+ const api = this.betterAuthService.getApi();
149
+ if (!api) {
150
+ return false;
151
+ }
152
+ try {
153
+ const headers = this.convertHeaders(ctx.req.headers);
154
+ await api.signOut({ headers });
155
+ return true;
156
+ }
157
+ catch (error) {
158
+ this.logger.debug(`Sign-out error: ${error instanceof Error ? error.message : 'Unknown error'}`);
159
+ return false;
160
+ }
161
+ }
162
+ async betterAuthVerify2FA(code, ctx) {
163
+ this.ensureEnabled();
164
+ if (!this.betterAuthService.isTwoFactorEnabled()) {
165
+ throw new common_1.BadRequestException('Two-factor authentication is not enabled');
166
+ }
167
+ const api = this.betterAuthService.getApi();
168
+ if (!api) {
169
+ throw new common_1.BadRequestException('Better-Auth API not available');
170
+ }
171
+ try {
172
+ const headers = this.convertHeaders(ctx.req.headers);
173
+ const twoFactorApi = api.twoFactor;
174
+ if (!twoFactorApi?.verifyTotp) {
175
+ throw new common_1.BadRequestException('2FA verification method not available');
176
+ }
177
+ const response = await twoFactorApi.verifyTotp({
178
+ body: { code },
179
+ headers,
180
+ });
181
+ if (response && (0, better_auth_types_1.hasUser)(response)) {
182
+ const sessionUser = response.user;
183
+ const mappedUser = await this.userMapper.mapSessionUser(sessionUser);
184
+ return {
185
+ requiresTwoFactor: false,
186
+ success: true,
187
+ user: mappedUser ? this.mapToUserModel(mappedUser) : null,
188
+ };
189
+ }
190
+ throw new common_1.UnauthorizedException('Invalid 2FA code');
191
+ }
192
+ catch (error) {
193
+ this.logger.debug(`2FA verification error: ${error instanceof Error ? error.message : 'Unknown error'}`);
194
+ throw new common_1.UnauthorizedException('Invalid 2FA code');
195
+ }
196
+ }
197
+ async betterAuthEnable2FA(password, ctx) {
198
+ this.ensureEnabled();
199
+ if (!this.betterAuthService.isTwoFactorEnabled()) {
200
+ return { error: 'Two-factor authentication is not enabled on this server', success: false };
201
+ }
202
+ const api = this.betterAuthService.getApi();
203
+ if (!api) {
204
+ return { error: 'Better-Auth API not available', success: false };
205
+ }
206
+ try {
207
+ const headers = this.convertHeaders(ctx.req.headers);
208
+ const twoFactorApi = api.twoFactor;
209
+ if (!twoFactorApi?.enable) {
210
+ return { error: '2FA enable method not available', success: false };
211
+ }
212
+ const response = await twoFactorApi.enable({
213
+ body: { password },
214
+ headers,
215
+ });
216
+ return {
217
+ backupCodes: response.backupCodes,
218
+ success: true,
219
+ totpUri: response.totpURI,
220
+ };
221
+ }
222
+ catch (error) {
223
+ this.logger.debug(`2FA enable error: ${error instanceof Error ? error.message : 'Unknown error'}`);
224
+ return { error: error instanceof Error ? error.message : 'Failed to enable 2FA', success: false };
225
+ }
226
+ }
227
+ async betterAuthDisable2FA(password, ctx) {
228
+ this.ensureEnabled();
229
+ if (!this.betterAuthService.isTwoFactorEnabled()) {
230
+ throw new common_1.BadRequestException('Two-factor authentication is not enabled on this server');
231
+ }
232
+ const api = this.betterAuthService.getApi();
233
+ if (!api) {
234
+ return false;
235
+ }
236
+ try {
237
+ const headers = this.convertHeaders(ctx.req.headers);
238
+ const twoFactorApi = api.twoFactor;
239
+ if (!twoFactorApi?.disable) {
240
+ throw new common_1.BadRequestException('2FA disable method not available');
241
+ }
242
+ const response = await twoFactorApi.disable({
243
+ body: { password },
244
+ headers,
245
+ });
246
+ return response?.status === true;
247
+ }
248
+ catch (error) {
249
+ this.logger.debug(`2FA disable error: ${error instanceof Error ? error.message : 'Unknown error'}`);
250
+ return false;
251
+ }
252
+ }
253
+ async betterAuthGenerateBackupCodes(ctx) {
254
+ this.ensureEnabled();
255
+ if (!this.betterAuthService.isTwoFactorEnabled()) {
256
+ throw new common_1.BadRequestException('Two-factor authentication is not enabled on this server');
257
+ }
258
+ const api = this.betterAuthService.getApi();
259
+ if (!api) {
260
+ return null;
261
+ }
262
+ try {
263
+ const headers = this.convertHeaders(ctx.req.headers);
264
+ const twoFactorApi = api.twoFactor;
265
+ if (!twoFactorApi?.generateBackupCodes) {
266
+ throw new common_1.BadRequestException('Generate backup codes method not available');
267
+ }
268
+ const response = await twoFactorApi.generateBackupCodes({ headers });
269
+ return response?.backupCodes || null;
270
+ }
271
+ catch (error) {
272
+ this.logger.debug(`Generate backup codes error: ${error instanceof Error ? error.message : 'Unknown error'}`);
273
+ return null;
274
+ }
275
+ }
276
+ async betterAuthGetPasskeyChallenge(ctx) {
277
+ this.ensureEnabled();
278
+ if (!this.betterAuthService.isPasskeyEnabled()) {
279
+ return { error: 'Passkey authentication is not enabled on this server', success: false };
280
+ }
281
+ const api = this.betterAuthService.getApi();
282
+ if (!api) {
283
+ return { error: 'Better-Auth API not available', success: false };
284
+ }
285
+ try {
286
+ const headers = this.convertHeaders(ctx.req.headers);
287
+ const passkeyApi = api.passkey;
288
+ if (!passkeyApi?.generateRegisterOptions) {
289
+ return { error: 'Passkey registration method not available', success: false };
290
+ }
291
+ const challenge = await passkeyApi.generateRegisterOptions({ headers });
292
+ return {
293
+ challenge: JSON.stringify(challenge),
294
+ success: true,
295
+ };
296
+ }
297
+ catch (error) {
298
+ this.logger.debug(`Passkey challenge error: ${error instanceof Error ? error.message : 'Unknown error'}`);
299
+ return { error: error instanceof Error ? error.message : 'Failed to get passkey challenge', success: false };
300
+ }
301
+ }
302
+ async betterAuthListPasskeys(ctx) {
303
+ if (!this.betterAuthService.isEnabled() || !this.betterAuthService.isPasskeyEnabled()) {
304
+ return null;
305
+ }
306
+ const api = this.betterAuthService.getApi();
307
+ if (!api) {
308
+ return null;
309
+ }
310
+ try {
311
+ const headers = this.convertHeaders(ctx.req.headers);
312
+ const passkeyApi = api.passkey;
313
+ if (!passkeyApi?.listUserPasskeys) {
314
+ return null;
315
+ }
316
+ const passkeys = await passkeyApi.listUserPasskeys({ headers });
317
+ return passkeys.map((pk) => ({
318
+ createdAt: pk.createdAt,
319
+ credentialId: pk.credentialID,
320
+ id: pk.id,
321
+ name: pk.name,
322
+ }));
323
+ }
324
+ catch (error) {
325
+ this.logger.debug(`List passkeys error: ${error instanceof Error ? error.message : 'Unknown error'}`);
326
+ return null;
327
+ }
328
+ }
329
+ async betterAuthDeletePasskey(passkeyId, ctx) {
330
+ this.ensureEnabled();
331
+ if (!this.betterAuthService.isPasskeyEnabled()) {
332
+ throw new common_1.BadRequestException('Passkey authentication is not enabled on this server');
333
+ }
334
+ const api = this.betterAuthService.getApi();
335
+ if (!api) {
336
+ return false;
337
+ }
338
+ try {
339
+ const headers = this.convertHeaders(ctx.req.headers);
340
+ const passkeyApi = api.passkey;
341
+ if (!passkeyApi?.deletePasskey) {
342
+ throw new common_1.BadRequestException('Delete passkey method not available');
343
+ }
344
+ const response = await passkeyApi.deletePasskey({
345
+ body: { id: passkeyId },
346
+ headers,
347
+ });
348
+ return response?.status === true;
349
+ }
350
+ catch (error) {
351
+ this.logger.debug(`Delete passkey error: ${error instanceof Error ? error.message : 'Unknown error'}`);
352
+ return false;
353
+ }
354
+ }
355
+ ensureEnabled() {
356
+ if (!this.betterAuthService.isEnabled()) {
357
+ throw new common_1.BadRequestException('Better-Auth is not enabled. Check that betterAuth.enabled is not set to false in your environment.');
358
+ }
359
+ }
360
+ convertHeaders(headers) {
361
+ const result = new Headers();
362
+ for (const [key, value] of Object.entries(headers)) {
363
+ if (typeof value === 'string') {
364
+ result.set(key, value);
365
+ }
366
+ else if (Array.isArray(value)) {
367
+ result.set(key, value.join(', '));
368
+ }
369
+ }
370
+ return result;
371
+ }
372
+ mapSessionInfo(session) {
373
+ return {
374
+ expiresAt: session.expiresAt,
375
+ id: session.id,
376
+ token: session.token,
377
+ };
378
+ }
379
+ mapToUserModel(user) {
380
+ return {
381
+ email: user.email,
382
+ emailVerified: user.emailVerified,
383
+ iamId: user.iamId,
384
+ id: user.id,
385
+ name: user.name,
386
+ roles: user.roles,
387
+ verified: user.verified,
388
+ };
389
+ }
390
+ };
391
+ exports.BetterAuthResolver = BetterAuthResolver;
392
+ __decorate([
393
+ (0, graphql_1.Query)(() => better_auth_models_1.BetterAuthSessionModel, {
394
+ description: 'Get current Better-Auth session',
395
+ nullable: true,
396
+ }),
397
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
398
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
399
+ __param(0, (0, graphql_1.Context)()),
400
+ __metadata("design:type", Function),
401
+ __metadata("design:paramtypes", [Object]),
402
+ __metadata("design:returntype", Promise)
403
+ ], BetterAuthResolver.prototype, "betterAuthSession", null);
404
+ __decorate([
405
+ (0, graphql_1.Query)(() => Boolean, { description: 'Check if Better-Auth is enabled' }),
406
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
407
+ __metadata("design:type", Function),
408
+ __metadata("design:paramtypes", []),
409
+ __metadata("design:returntype", Boolean)
410
+ ], BetterAuthResolver.prototype, "betterAuthEnabled", null);
411
+ __decorate([
412
+ (0, graphql_1.Query)(() => better_auth_models_1.BetterAuthFeaturesModel, { description: 'Get enabled Better-Auth features' }),
413
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
414
+ __metadata("design:type", Function),
415
+ __metadata("design:paramtypes", []),
416
+ __metadata("design:returntype", better_auth_models_1.BetterAuthFeaturesModel)
417
+ ], BetterAuthResolver.prototype, "betterAuthFeatures", null);
418
+ __decorate([
419
+ (0, graphql_1.Mutation)(() => better_auth_auth_model_1.BetterAuthAuthModel, {
420
+ description: 'Sign in via Better-Auth (email/password)',
421
+ }),
422
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
423
+ __param(0, (0, graphql_1.Args)('email')),
424
+ __param(1, (0, graphql_1.Args)('password')),
425
+ __param(2, (0, graphql_1.Context)()),
426
+ __metadata("design:type", Function),
427
+ __metadata("design:paramtypes", [String, String, Object]),
428
+ __metadata("design:returntype", Promise)
429
+ ], BetterAuthResolver.prototype, "betterAuthSignIn", null);
430
+ __decorate([
431
+ (0, graphql_1.Mutation)(() => better_auth_auth_model_1.BetterAuthAuthModel, {
432
+ description: 'Sign up via Better-Auth (email/password)',
433
+ }),
434
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
435
+ __param(0, (0, graphql_1.Args)('email')),
436
+ __param(1, (0, graphql_1.Args)('password')),
437
+ __param(2, (0, graphql_1.Args)('name', { nullable: true })),
438
+ __metadata("design:type", Function),
439
+ __metadata("design:paramtypes", [String, String, String]),
440
+ __metadata("design:returntype", Promise)
441
+ ], BetterAuthResolver.prototype, "betterAuthSignUp", null);
442
+ __decorate([
443
+ (0, graphql_1.Mutation)(() => Boolean, { description: 'Sign out via Better-Auth' }),
444
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
445
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
446
+ __param(0, (0, graphql_1.Context)()),
447
+ __metadata("design:type", Function),
448
+ __metadata("design:paramtypes", [Object]),
449
+ __metadata("design:returntype", Promise)
450
+ ], BetterAuthResolver.prototype, "betterAuthSignOut", null);
451
+ __decorate([
452
+ (0, graphql_1.Mutation)(() => better_auth_auth_model_1.BetterAuthAuthModel, {
453
+ description: 'Verify 2FA code during sign-in',
454
+ }),
455
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
456
+ __param(0, (0, graphql_1.Args)('code')),
457
+ __param(1, (0, graphql_1.Context)()),
458
+ __metadata("design:type", Function),
459
+ __metadata("design:paramtypes", [String, Object]),
460
+ __metadata("design:returntype", Promise)
461
+ ], BetterAuthResolver.prototype, "betterAuthVerify2FA", null);
462
+ __decorate([
463
+ (0, graphql_1.Mutation)(() => better_auth_models_1.BetterAuth2FASetupModel, {
464
+ description: 'Enable 2FA for the current user',
465
+ }),
466
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
467
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
468
+ __param(0, (0, graphql_1.Args)('password')),
469
+ __param(1, (0, graphql_1.Context)()),
470
+ __metadata("design:type", Function),
471
+ __metadata("design:paramtypes", [String, Object]),
472
+ __metadata("design:returntype", Promise)
473
+ ], BetterAuthResolver.prototype, "betterAuthEnable2FA", null);
474
+ __decorate([
475
+ (0, graphql_1.Mutation)(() => Boolean, {
476
+ description: 'Disable 2FA for the current user',
477
+ }),
478
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
479
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
480
+ __param(0, (0, graphql_1.Args)('password')),
481
+ __param(1, (0, graphql_1.Context)()),
482
+ __metadata("design:type", Function),
483
+ __metadata("design:paramtypes", [String, Object]),
484
+ __metadata("design:returntype", Promise)
485
+ ], BetterAuthResolver.prototype, "betterAuthDisable2FA", null);
486
+ __decorate([
487
+ (0, graphql_1.Mutation)(() => [String], {
488
+ description: 'Generate new backup codes for 2FA',
489
+ nullable: true,
490
+ }),
491
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
492
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
493
+ __param(0, (0, graphql_1.Context)()),
494
+ __metadata("design:type", Function),
495
+ __metadata("design:paramtypes", [Object]),
496
+ __metadata("design:returntype", Promise)
497
+ ], BetterAuthResolver.prototype, "betterAuthGenerateBackupCodes", null);
498
+ __decorate([
499
+ (0, graphql_1.Mutation)(() => better_auth_models_1.BetterAuthPasskeyChallengeModel, {
500
+ description: 'Get passkey registration challenge for WebAuthn',
501
+ }),
502
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
503
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
504
+ __param(0, (0, graphql_1.Context)()),
505
+ __metadata("design:type", Function),
506
+ __metadata("design:paramtypes", [Object]),
507
+ __metadata("design:returntype", Promise)
508
+ ], BetterAuthResolver.prototype, "betterAuthGetPasskeyChallenge", null);
509
+ __decorate([
510
+ (0, graphql_1.Query)(() => [better_auth_models_1.BetterAuthPasskeyModel], {
511
+ description: 'List passkeys for the current user',
512
+ nullable: true,
513
+ }),
514
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
515
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
516
+ __param(0, (0, graphql_1.Context)()),
517
+ __metadata("design:type", Function),
518
+ __metadata("design:paramtypes", [Object]),
519
+ __metadata("design:returntype", Promise)
520
+ ], BetterAuthResolver.prototype, "betterAuthListPasskeys", null);
521
+ __decorate([
522
+ (0, graphql_1.Mutation)(() => Boolean, {
523
+ description: 'Delete a passkey by ID',
524
+ }),
525
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
526
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
527
+ __param(0, (0, graphql_1.Args)('passkeyId')),
528
+ __param(1, (0, graphql_1.Context)()),
529
+ __metadata("design:type", Function),
530
+ __metadata("design:paramtypes", [String, Object]),
531
+ __metadata("design:returntype", Promise)
532
+ ], BetterAuthResolver.prototype, "betterAuthDeletePasskey", null);
533
+ exports.BetterAuthResolver = BetterAuthResolver = BetterAuthResolver_1 = __decorate([
534
+ (0, graphql_1.Resolver)(),
535
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
536
+ __metadata("design:paramtypes", [better_auth_service_1.BetterAuthService,
537
+ better_auth_user_mapper_1.BetterAuthUserMapper])
538
+ ], BetterAuthResolver);
539
+ //# sourceMappingURL=better-auth.resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"better-auth.resolver.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/better-auth.resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { Request } from 'express';
2
+ import { IBetterAuth } from '../../common/interfaces/server-options.interface';
3
+ import { ConfigService } from '../../common/services/config.service';
4
+ import { BetterAuthSessionUser } from './better-auth-user.mapper';
5
+ import { BetterAuthInstance } from './better-auth.config';
6
+ export interface SessionResult {
7
+ session: null | {
8
+ [key: string]: any;
9
+ expiresAt: Date;
10
+ id: string;
11
+ userId: string;
12
+ };
13
+ user: BetterAuthSessionUser | null;
14
+ }
15
+ export declare class BetterAuthService {
16
+ private readonly authInstance;
17
+ private readonly configService?;
18
+ private readonly logger;
19
+ private readonly config;
20
+ constructor(authInstance: BetterAuthInstance | null, configService?: ConfigService);
21
+ isEnabled(): boolean;
22
+ getInstance(): BetterAuthInstance | null;
23
+ getApi(): BetterAuthInstance['api'] | null;
24
+ getConfig(): IBetterAuth;
25
+ isJwtEnabled(): boolean;
26
+ isTwoFactorEnabled(): boolean;
27
+ isPasskeyEnabled(): boolean;
28
+ isLegacyPasswordEnabled(): boolean;
29
+ getEnabledSocialProviders(): string[];
30
+ getBasePath(): string;
31
+ getBaseUrl(): string;
32
+ getSession(req: Request | {
33
+ headers: Record<string, string | string[] | undefined>;
34
+ }): Promise<SessionResult>;
35
+ revokeSession(sessionToken: string): Promise<boolean>;
36
+ isSessionExpiringSoon(session: SessionResult['session'], thresholdMinutes?: number): boolean;
37
+ getSessionTimeRemaining(session: SessionResult['session']): number;
38
+ }