@lenne.tech/nest-server 11.12.0 → 11.13.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/dist/config.env.js +1 -0
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/interfaces/server-options.interface.d.ts +16 -0
- package/dist/core/modules/better-auth/better-auth.config.d.ts +13 -0
- package/dist/core/modules/better-auth/better-auth.config.js +68 -18
- package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
- package/dist/core/modules/better-auth/better-auth.resolver.d.ts +7 -3
- package/dist/core/modules/better-auth/better-auth.resolver.js +16 -6
- package/dist/core/modules/better-auth/better-auth.resolver.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.d.ts +2 -2
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.js +46 -2
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-auth.model.d.ts +1 -0
- package/dist/core/modules/better-auth/core-better-auth-auth.model.js +7 -0
- package/dist/core/modules/better-auth/core-better-auth-auth.model.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-email-verification.service.d.ts +48 -0
- package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js +241 -0
- package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js.map +1 -0
- package/dist/core/modules/better-auth/core-better-auth-models.d.ts +2 -1
- package/dist/core/modules/better-auth/core-better-auth-models.js +8 -4
- package/dist/core/modules/better-auth/core-better-auth-models.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-signup-validator.service.d.ts +18 -0
- package/dist/core/modules/better-auth/core-better-auth-signup-validator.service.js +82 -0
- package/dist/core/modules/better-auth/core-better-auth-signup-validator.service.js.map +1 -0
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.d.ts +0 -1
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.js +15 -8
- package/dist/core/modules/better-auth/core-better-auth-user.mapper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-web.helper.d.ts +1 -0
- package/dist/core/modules/better-auth/core-better-auth-web.helper.js +33 -24
- package/dist/core/modules/better-auth/core-better-auth-web.helper.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.controller.d.ts +11 -1
- package/dist/core/modules/better-auth/core-better-auth.controller.js +91 -15
- package/dist/core/modules/better-auth/core-better-auth.controller.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.middleware.js +55 -19
- package/dist/core/modules/better-auth/core-better-auth.middleware.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.module.d.ts +6 -0
- package/dist/core/modules/better-auth/core-better-auth.module.js +129 -24
- package/dist/core/modules/better-auth/core-better-auth.module.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.resolver.d.ts +12 -5
- package/dist/core/modules/better-auth/core-better-auth.resolver.js +64 -17
- package/dist/core/modules/better-auth/core-better-auth.resolver.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth.service.d.ts +4 -1
- package/dist/core/modules/better-auth/core-better-auth.service.js +123 -23
- package/dist/core/modules/better-auth/core-better-auth.service.js.map +1 -1
- package/dist/core/modules/better-auth/index.d.ts +2 -0
- package/dist/core/modules/better-auth/index.js +2 -0
- package/dist/core/modules/better-auth/index.js.map +1 -1
- package/dist/core/modules/error-code/error-codes.d.ts +45 -0
- package/dist/core/modules/error-code/error-codes.js +40 -0
- package/dist/core/modules/error-code/error-codes.js.map +1 -1
- package/dist/core/modules/user/core-user.model.d.ts +1 -0
- package/dist/core/modules/user/core-user.model.js +11 -0
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/server/modules/better-auth/better-auth.controller.d.ts +3 -1
- package/dist/server/modules/better-auth/better-auth.controller.js +12 -3
- package/dist/server/modules/better-auth/better-auth.controller.js.map +1 -1
- package/dist/server/modules/better-auth/better-auth.resolver.d.ts +7 -3
- package/dist/server/modules/better-auth/better-auth.resolver.js +16 -6
- package/dist/server/modules/better-auth/better-auth.resolver.js.map +1 -1
- package/dist/server/modules/error-code/error-codes.d.ts +5 -0
- package/dist/server/modules/user/user.model.d.ts +5 -0
- package/dist/templates/email-verification-de.ejs +78 -0
- package/dist/templates/email-verification-en.ejs +78 -0
- package/dist/test/test.helper.d.ts +4 -0
- package/dist/test/test.helper.js +54 -1
- package/dist/test/test.helper.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/config.env.ts +2 -0
- package/src/core/common/interfaces/server-options.interface.ts +240 -0
- package/src/core/modules/better-auth/INTEGRATION-CHECKLIST.md +113 -0
- package/src/core/modules/better-auth/README.md +72 -7
- package/src/core/modules/better-auth/better-auth.config.ts +168 -42
- package/src/core/modules/better-auth/better-auth.resolver.ts +16 -5
- package/src/core/modules/better-auth/core-better-auth-api.middleware.ts +65 -8
- package/src/core/modules/better-auth/core-better-auth-auth.model.ts +10 -0
- package/src/core/modules/better-auth/core-better-auth-email-verification.service.ts +433 -0
- package/src/core/modules/better-auth/core-better-auth-models.ts +6 -3
- package/src/core/modules/better-auth/core-better-auth-signup-validator.service.ts +178 -0
- package/src/core/modules/better-auth/core-better-auth-user.mapper.ts +18 -14
- package/src/core/modules/better-auth/core-better-auth-web.helper.ts +53 -40
- package/src/core/modules/better-auth/core-better-auth.controller.ts +155 -16
- package/src/core/modules/better-auth/core-better-auth.middleware.ts +89 -31
- package/src/core/modules/better-auth/core-better-auth.module.ts +215 -38
- package/src/core/modules/better-auth/core-better-auth.resolver.ts +140 -20
- package/src/core/modules/better-auth/core-better-auth.service.ts +181 -25
- package/src/core/modules/better-auth/index.ts +2 -0
- package/src/core/modules/error-code/error-codes.ts +45 -0
- package/src/core/modules/user/core-user.model.ts +15 -0
- package/src/server/modules/better-auth/better-auth.controller.ts +6 -2
- package/src/server/modules/better-auth/better-auth.resolver.ts +16 -5
- package/src/templates/email-verification-de.ejs +78 -0
- package/src/templates/email-verification-en.ejs +78 -0
- package/src/test/README.md +190 -0
- package/src/test/test.helper.ts +82 -1
|
@@ -140,6 +140,46 @@ exports.LtnsErrors = {
|
|
|
140
140
|
en: 'Too many requests. Please try again later.',
|
|
141
141
|
},
|
|
142
142
|
},
|
|
143
|
+
SIGNUP_TERMS_NOT_ACCEPTED: {
|
|
144
|
+
code: 'LTNS_0021',
|
|
145
|
+
message: 'Terms and privacy policy must be accepted',
|
|
146
|
+
translations: {
|
|
147
|
+
de: 'Die Nutzungsbedingungen und Datenschutzrichtlinie müssen akzeptiert werden.',
|
|
148
|
+
en: 'Terms and privacy policy must be accepted.',
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
SIGNUP_MISSING_REQUIRED_FIELDS: {
|
|
152
|
+
code: 'LTNS_0022',
|
|
153
|
+
message: 'Required sign-up fields are missing',
|
|
154
|
+
translations: {
|
|
155
|
+
de: 'Erforderliche Registrierungsfelder fehlen.',
|
|
156
|
+
en: 'Required sign-up fields are missing.',
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
EMAIL_VERIFICATION_REQUIRED: {
|
|
160
|
+
code: 'LTNS_0023',
|
|
161
|
+
message: 'Email verification required',
|
|
162
|
+
translations: {
|
|
163
|
+
de: 'Bitte verifizieren Sie Ihre E-Mail-Adresse.',
|
|
164
|
+
en: 'Please verify your email address.',
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
EMAIL_VERIFICATION_TOKEN_INVALID: {
|
|
168
|
+
code: 'LTNS_0024',
|
|
169
|
+
message: 'Email verification token is invalid or expired',
|
|
170
|
+
translations: {
|
|
171
|
+
de: 'Der E-Mail-Verifizierungslink ist ungültig oder abgelaufen.',
|
|
172
|
+
en: 'The email verification link is invalid or expired.',
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
EMAIL_ALREADY_VERIFIED: {
|
|
176
|
+
code: 'LTNS_0025',
|
|
177
|
+
message: 'Email is already verified',
|
|
178
|
+
translations: {
|
|
179
|
+
de: 'Die E-Mail-Adresse ist bereits verifiziert.',
|
|
180
|
+
en: 'The email address is already verified.',
|
|
181
|
+
},
|
|
182
|
+
},
|
|
143
183
|
UNAUTHORIZED: {
|
|
144
184
|
code: 'LTNS_0100',
|
|
145
185
|
message: 'Unauthorized - User is not logged in',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../../src/core/modules/error-code/error-codes.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../../src/core/modules/error-code/error-codes.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ export declare abstract class CoreUserModel extends CorePersistenceModel {
|
|
|
21
21
|
verifiedAt: Date;
|
|
22
22
|
iamId: string;
|
|
23
23
|
twoFactorEnabled: boolean;
|
|
24
|
+
termsAndPrivacyAcceptedAt: Date;
|
|
24
25
|
hasRole(roles: string | string[]): boolean;
|
|
25
26
|
hasAllRoles(roles: string | string[]): boolean;
|
|
26
27
|
init(): this;
|
|
@@ -34,6 +34,7 @@ let CoreUserModel = class CoreUserModel extends core_persistence_model_1.CorePer
|
|
|
34
34
|
this.verifiedAt = undefined;
|
|
35
35
|
this.iamId = undefined;
|
|
36
36
|
this.twoFactorEnabled = undefined;
|
|
37
|
+
this.termsAndPrivacyAcceptedAt = undefined;
|
|
37
38
|
}
|
|
38
39
|
hasRole(roles) {
|
|
39
40
|
if (typeof roles === 'string') {
|
|
@@ -259,6 +260,16 @@ __decorate([
|
|
|
259
260
|
}),
|
|
260
261
|
__metadata("design:type", Boolean)
|
|
261
262
|
], CoreUserModel.prototype, "twoFactorEnabled", void 0);
|
|
263
|
+
__decorate([
|
|
264
|
+
(0, unified_field_decorator_1.UnifiedField)({
|
|
265
|
+
description: 'Date when terms and privacy policy were accepted',
|
|
266
|
+
isOptional: true,
|
|
267
|
+
mongoose: { type: Date },
|
|
268
|
+
roles: role_enum_1.RoleEnum.S_EVERYONE,
|
|
269
|
+
type: () => Date,
|
|
270
|
+
}),
|
|
271
|
+
__metadata("design:type", Date)
|
|
272
|
+
], CoreUserModel.prototype, "termsAndPrivacyAcceptedAt", void 0);
|
|
262
273
|
exports.CoreUserModel = CoreUserModel = __decorate([
|
|
263
274
|
(0, swagger_1.ApiExtraModels)(core_persistence_model_1.CorePersistenceModel),
|
|
264
275
|
(0, mongoose_1.Schema)({ timestamps: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAC7C,+CAAuE;AACvE,6CAA8D;AAG9D,uFAA0E;AAC1E,6FAA+E;AAC/E,4DAAwD;AACxD,uFAAkF;AAY3E,IAAe,aAAa,GAA5B,MAAe,aAAc,SAAQ,6CAAoB;IAAzD;;QAcL,UAAK,GAAW,SAAS,CAAC;QAW1B,cAAS,GAAW,SAAS,CAAC;QAW9B,aAAQ,GAAW,SAAS,CAAC;QAU7B,aAAQ,GAAW,SAAS,CAAC;QAa7B,UAAK,GAAa,SAAS,CAAC;QAW5B,aAAQ,GAAW,SAAS,CAAC;QAU7B,uBAAkB,GAAW,SAAS,CAAC;QA8CvC,kBAAa,GAAkC,SAAS,CAAC;QAgDzD,eAAU,GAA6E,SAAS,CAAC;QAUjG,sBAAiB,GAAW,SAAS,CAAC;QAYtC,aAAQ,GAAY,SAAS,CAAC;QAW9B,eAAU,GAAS,SAAS,CAAC;QAgB7B,UAAK,GAAW,SAAS,CAAC;QAa1B,qBAAgB,GAAY,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"core-user.model.js","sourceRoot":"","sources":["../../../../src/core/modules/user/core-user.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ConfigService } from '../../../core/common/services/config.service';
|
|
2
|
+
import { CoreBetterAuthEmailVerificationService } from '../../../core/modules/better-auth/core-better-auth-email-verification.service';
|
|
3
|
+
import { CoreBetterAuthSignUpValidatorService } from '../../../core/modules/better-auth/core-better-auth-signup-validator.service';
|
|
2
4
|
import { CoreBetterAuthUserMapper } from '../../../core/modules/better-auth/core-better-auth-user.mapper';
|
|
3
5
|
import { CoreBetterAuthController } from '../../../core/modules/better-auth/core-better-auth.controller';
|
|
4
6
|
import { CoreBetterAuthService } from '../../../core/modules/better-auth/core-better-auth.service';
|
|
@@ -6,5 +8,5 @@ export declare class BetterAuthController extends CoreBetterAuthController {
|
|
|
6
8
|
protected readonly betterAuthService: CoreBetterAuthService;
|
|
7
9
|
protected readonly userMapper: CoreBetterAuthUserMapper;
|
|
8
10
|
protected readonly configService: ConfigService;
|
|
9
|
-
constructor(betterAuthService: CoreBetterAuthService, userMapper: CoreBetterAuthUserMapper, configService: ConfigService);
|
|
11
|
+
constructor(betterAuthService: CoreBetterAuthService, userMapper: CoreBetterAuthUserMapper, configService: ConfigService, signUpValidator?: CoreBetterAuthSignUpValidatorService, emailVerificationService?: CoreBetterAuthEmailVerificationService);
|
|
10
12
|
}
|
|
@@ -8,18 +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 __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.BetterAuthController = void 0;
|
|
13
16
|
const common_1 = require("@nestjs/common");
|
|
14
17
|
const roles_decorator_1 = require("../../../core/common/decorators/roles.decorator");
|
|
15
18
|
const role_enum_1 = require("../../../core/common/enums/role.enum");
|
|
16
19
|
const config_service_1 = require("../../../core/common/services/config.service");
|
|
20
|
+
const core_better_auth_email_verification_service_1 = require("../../../core/modules/better-auth/core-better-auth-email-verification.service");
|
|
21
|
+
const core_better_auth_signup_validator_service_1 = require("../../../core/modules/better-auth/core-better-auth-signup-validator.service");
|
|
17
22
|
const core_better_auth_user_mapper_1 = require("../../../core/modules/better-auth/core-better-auth-user.mapper");
|
|
18
23
|
const core_better_auth_controller_1 = require("../../../core/modules/better-auth/core-better-auth.controller");
|
|
19
24
|
const core_better_auth_service_1 = require("../../../core/modules/better-auth/core-better-auth.service");
|
|
20
25
|
let BetterAuthController = class BetterAuthController extends core_better_auth_controller_1.CoreBetterAuthController {
|
|
21
|
-
constructor(betterAuthService, userMapper, configService) {
|
|
22
|
-
super(betterAuthService, userMapper, configService);
|
|
26
|
+
constructor(betterAuthService, userMapper, configService, signUpValidator, emailVerificationService) {
|
|
27
|
+
super(betterAuthService, userMapper, configService, signUpValidator, emailVerificationService);
|
|
23
28
|
this.betterAuthService = betterAuthService;
|
|
24
29
|
this.userMapper = userMapper;
|
|
25
30
|
this.configService = configService;
|
|
@@ -29,8 +34,12 @@ exports.BetterAuthController = BetterAuthController;
|
|
|
29
34
|
exports.BetterAuthController = BetterAuthController = __decorate([
|
|
30
35
|
(0, common_1.Controller)('iam'),
|
|
31
36
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
|
|
37
|
+
__param(3, (0, common_1.Optional)()),
|
|
38
|
+
__param(4, (0, common_1.Optional)()),
|
|
32
39
|
__metadata("design:paramtypes", [core_better_auth_service_1.CoreBetterAuthService,
|
|
33
40
|
core_better_auth_user_mapper_1.CoreBetterAuthUserMapper,
|
|
34
|
-
config_service_1.ConfigService
|
|
41
|
+
config_service_1.ConfigService,
|
|
42
|
+
core_better_auth_signup_validator_service_1.CoreBetterAuthSignUpValidatorService,
|
|
43
|
+
core_better_auth_email_verification_service_1.CoreBetterAuthEmailVerificationService])
|
|
35
44
|
], BetterAuthController);
|
|
36
45
|
//# sourceMappingURL=better-auth.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/better-auth/better-auth.controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"better-auth.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/better-auth/better-auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAsD;AAEtD,qFAAwE;AACxE,oEAAgE;AAChE,iFAA6E;AAC7E,+IAAuI;AACvI,2IAAmI;AACnI,iHAA0G;AAC1G,+GAAyG;AACzG,yGAAmG;AAyB5F,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,sDAAwB;IAChE,YAC8B,iBAAwC,EACxC,UAAoC,EACpC,aAA4B,EAC5C,eAAsD,EACtD,wBAAiE;QAE7E,KAAK,CAAC,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,wBAAwB,CAAC,CAAC;QANnE,sBAAiB,GAAjB,iBAAiB,CAAuB;QACxC,eAAU,GAAV,UAAU,CAA0B;QACpC,kBAAa,GAAb,aAAa,CAAe;IAK1D,CAAC;CACF,CAAA;AAVY,oDAAoB;+BAApB,oBAAoB;IAFhC,IAAA,mBAAU,EAAC,KAAK,CAAC;IACjB,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,CAAC;IAMjB,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,iBAAQ,GAAE,CAAA;qCAJoC,gDAAqB;QAC5B,uDAAwB;QACrB,8BAAa;QAC1B,gFAAoC;QAC3B,oFAAsC;GANpE,oBAAoB,CAUhC"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { Request, Response } from 'express';
|
|
2
2
|
import { CoreBetterAuthAuthModel } from '../../../core/modules/better-auth/core-better-auth-auth.model';
|
|
3
|
+
import { CoreBetterAuthEmailVerificationService } from '../../../core/modules/better-auth/core-better-auth-email-verification.service';
|
|
3
4
|
import { CoreBetterAuthMigrationStatusModel } from '../../../core/modules/better-auth/core-better-auth-migration-status.model';
|
|
4
5
|
import { CoreBetterAuth2FASetupModel, CoreBetterAuthFeaturesModel, CoreBetterAuthPasskeyChallengeModel, CoreBetterAuthPasskeyModel, CoreBetterAuthSessionModel } from '../../../core/modules/better-auth/core-better-auth-models';
|
|
6
|
+
import { CoreBetterAuthSignUpValidatorService } from '../../../core/modules/better-auth/core-better-auth-signup-validator.service';
|
|
5
7
|
import { CoreBetterAuthUserMapper } from '../../../core/modules/better-auth/core-better-auth-user.mapper';
|
|
6
8
|
import { CoreBetterAuthResolver } from '../../../core/modules/better-auth/core-better-auth.resolver';
|
|
7
9
|
import { CoreBetterAuthService } from '../../../core/modules/better-auth/core-better-auth.service';
|
|
8
10
|
export declare class BetterAuthResolver extends CoreBetterAuthResolver {
|
|
9
11
|
protected readonly betterAuthService: CoreBetterAuthService;
|
|
10
12
|
protected readonly userMapper: CoreBetterAuthUserMapper;
|
|
11
|
-
|
|
13
|
+
protected readonly signUpValidator?: CoreBetterAuthSignUpValidatorService;
|
|
14
|
+
protected readonly emailVerificationService?: CoreBetterAuthEmailVerificationService;
|
|
15
|
+
constructor(betterAuthService: CoreBetterAuthService, userMapper: CoreBetterAuthUserMapper, signUpValidator?: CoreBetterAuthSignUpValidatorService, emailVerificationService?: CoreBetterAuthEmailVerificationService);
|
|
12
16
|
betterAuthSession(ctx: {
|
|
13
17
|
req: Request;
|
|
14
18
|
}): Promise<CoreBetterAuthSessionModel | null>;
|
|
@@ -21,11 +25,11 @@ export declare class BetterAuthResolver extends CoreBetterAuthResolver {
|
|
|
21
25
|
betterAuthListPasskeys(ctx: {
|
|
22
26
|
req: Request;
|
|
23
27
|
}): Promise<CoreBetterAuthPasskeyModel[] | null>;
|
|
24
|
-
betterAuthSignIn(email: string, password: string, ctx
|
|
28
|
+
betterAuthSignIn(email: string, password: string, ctx?: {
|
|
25
29
|
req: Request;
|
|
26
30
|
res: Response;
|
|
27
31
|
}): Promise<CoreBetterAuthAuthModel>;
|
|
28
|
-
betterAuthSignUp(email: string, password: string, name?: string): Promise<CoreBetterAuthAuthModel>;
|
|
32
|
+
betterAuthSignUp(email: string, password: string, name?: string, termsAndPrivacyAccepted?: boolean): Promise<CoreBetterAuthAuthModel>;
|
|
29
33
|
betterAuthSignOut(ctx: {
|
|
30
34
|
req: Request;
|
|
31
35
|
}): Promise<boolean>;
|
|
@@ -13,20 +13,25 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.BetterAuthResolver = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
16
17
|
const graphql_1 = require("@nestjs/graphql");
|
|
17
18
|
const roles_decorator_1 = require("../../../core/common/decorators/roles.decorator");
|
|
18
19
|
const role_enum_1 = require("../../../core/common/enums/role.enum");
|
|
19
20
|
const core_better_auth_auth_model_1 = require("../../../core/modules/better-auth/core-better-auth-auth.model");
|
|
21
|
+
const core_better_auth_email_verification_service_1 = require("../../../core/modules/better-auth/core-better-auth-email-verification.service");
|
|
20
22
|
const core_better_auth_migration_status_model_1 = require("../../../core/modules/better-auth/core-better-auth-migration-status.model");
|
|
21
23
|
const core_better_auth_models_1 = require("../../../core/modules/better-auth/core-better-auth-models");
|
|
24
|
+
const core_better_auth_signup_validator_service_1 = require("../../../core/modules/better-auth/core-better-auth-signup-validator.service");
|
|
22
25
|
const core_better_auth_user_mapper_1 = require("../../../core/modules/better-auth/core-better-auth-user.mapper");
|
|
23
26
|
const core_better_auth_resolver_1 = require("../../../core/modules/better-auth/core-better-auth.resolver");
|
|
24
27
|
const core_better_auth_service_1 = require("../../../core/modules/better-auth/core-better-auth.service");
|
|
25
28
|
let BetterAuthResolver = class BetterAuthResolver extends core_better_auth_resolver_1.CoreBetterAuthResolver {
|
|
26
|
-
constructor(betterAuthService, userMapper) {
|
|
27
|
-
super(betterAuthService, userMapper);
|
|
29
|
+
constructor(betterAuthService, userMapper, signUpValidator, emailVerificationService) {
|
|
30
|
+
super(betterAuthService, userMapper, signUpValidator, emailVerificationService);
|
|
28
31
|
this.betterAuthService = betterAuthService;
|
|
29
32
|
this.userMapper = userMapper;
|
|
33
|
+
this.signUpValidator = signUpValidator;
|
|
34
|
+
this.emailVerificationService = emailVerificationService;
|
|
30
35
|
}
|
|
31
36
|
async betterAuthSession(ctx) {
|
|
32
37
|
return super.betterAuthSession(ctx);
|
|
@@ -49,8 +54,8 @@ let BetterAuthResolver = class BetterAuthResolver extends core_better_auth_resol
|
|
|
49
54
|
async betterAuthSignIn(email, password, ctx) {
|
|
50
55
|
return super.betterAuthSignIn(email, password, ctx);
|
|
51
56
|
}
|
|
52
|
-
async betterAuthSignUp(email, password, name) {
|
|
53
|
-
return super.betterAuthSignUp(email, password, name);
|
|
57
|
+
async betterAuthSignUp(email, password, name, termsAndPrivacyAccepted) {
|
|
58
|
+
return super.betterAuthSignUp(email, password, name, termsAndPrivacyAccepted);
|
|
54
59
|
}
|
|
55
60
|
async betterAuthSignOut(ctx) {
|
|
56
61
|
return super.betterAuthSignOut(ctx);
|
|
@@ -151,8 +156,9 @@ __decorate([
|
|
|
151
156
|
__param(0, (0, graphql_1.Args)('email')),
|
|
152
157
|
__param(1, (0, graphql_1.Args)('password')),
|
|
153
158
|
__param(2, (0, graphql_1.Args)('name', { nullable: true })),
|
|
159
|
+
__param(3, (0, graphql_1.Args)('termsAndPrivacyAccepted', { nullable: true })),
|
|
154
160
|
__metadata("design:type", Function),
|
|
155
|
-
__metadata("design:paramtypes", [String, String, String]),
|
|
161
|
+
__metadata("design:paramtypes", [String, String, String, Boolean]),
|
|
156
162
|
__metadata("design:returntype", Promise)
|
|
157
163
|
], BetterAuthResolver.prototype, "betterAuthSignUp", null);
|
|
158
164
|
__decorate([
|
|
@@ -231,7 +237,11 @@ __decorate([
|
|
|
231
237
|
exports.BetterAuthResolver = BetterAuthResolver = __decorate([
|
|
232
238
|
(0, graphql_1.Resolver)(() => core_better_auth_auth_model_1.CoreBetterAuthAuthModel),
|
|
233
239
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
|
|
240
|
+
__param(2, (0, common_1.Optional)()),
|
|
241
|
+
__param(3, (0, common_1.Optional)()),
|
|
234
242
|
__metadata("design:paramtypes", [core_better_auth_service_1.CoreBetterAuthService,
|
|
235
|
-
core_better_auth_user_mapper_1.CoreBetterAuthUserMapper
|
|
243
|
+
core_better_auth_user_mapper_1.CoreBetterAuthUserMapper,
|
|
244
|
+
core_better_auth_signup_validator_service_1.CoreBetterAuthSignUpValidatorService,
|
|
245
|
+
core_better_auth_email_verification_service_1.CoreBetterAuthEmailVerificationService])
|
|
236
246
|
], BetterAuthResolver);
|
|
237
247
|
//# sourceMappingURL=better-auth.resolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"better-auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/better-auth/better-auth.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA2E;AAG3E,qFAAwE;AACxE,oEAAgE;AAChE,+GAAwG;AACxG,uIAA+H;AAC/H,uGAMmE;AACnE,iHAA0G;AAC1G,2GAAqG;AACrG,yGAAmG;
|
|
1
|
+
{"version":3,"file":"better-auth.resolver.js","sourceRoot":"","sources":["../../../../src/server/modules/better-auth/better-auth.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,11 @@ export declare const ErrorCode: {
|
|
|
34
34
|
BETTERAUTH_API_NOT_AVAILABLE: string;
|
|
35
35
|
TWO_FACTOR_METHOD_NOT_AVAILABLE: string;
|
|
36
36
|
RATE_LIMIT_EXCEEDED: string;
|
|
37
|
+
SIGNUP_TERMS_NOT_ACCEPTED: string;
|
|
38
|
+
SIGNUP_MISSING_REQUIRED_FIELDS: string;
|
|
39
|
+
EMAIL_VERIFICATION_REQUIRED: string;
|
|
40
|
+
EMAIL_VERIFICATION_TOKEN_INVALID: string;
|
|
41
|
+
EMAIL_ALREADY_VERIFIED: string;
|
|
37
42
|
UNAUTHORIZED: string;
|
|
38
43
|
ACCESS_DENIED: string;
|
|
39
44
|
RESOURCE_FORBIDDEN: string;
|
|
@@ -137,6 +137,11 @@ export declare const UserSchema: Schema<User, import("mongoose").Model<User, any
|
|
|
137
137
|
}> & {
|
|
138
138
|
__v: number;
|
|
139
139
|
}>;
|
|
140
|
+
termsAndPrivacyAcceptedAt?: import("mongoose").SchemaDefinitionProperty<Date, User, Document<unknown, {}, User, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & User & Required<{
|
|
141
|
+
_id: import("mongoose").Types.ObjectId;
|
|
142
|
+
}> & {
|
|
143
|
+
__v: number;
|
|
144
|
+
}>;
|
|
140
145
|
hasRole?: import("mongoose").SchemaDefinitionProperty<(roles: string | string[]) => boolean, User, Document<unknown, {}, User, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & User & Required<{
|
|
141
146
|
_id: import("mongoose").Types.ObjectId;
|
|
142
147
|
}> & {
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="de">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>E-Mail-Adresse bestätigen</title>
|
|
7
|
+
<style>
|
|
8
|
+
body {
|
|
9
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
10
|
+
line-height: 1.6;
|
|
11
|
+
color: #333;
|
|
12
|
+
max-width: 600px;
|
|
13
|
+
margin: 0 auto;
|
|
14
|
+
padding: 20px;
|
|
15
|
+
}
|
|
16
|
+
.container {
|
|
17
|
+
background-color: #ffffff;
|
|
18
|
+
border-radius: 8px;
|
|
19
|
+
padding: 30px;
|
|
20
|
+
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
|
21
|
+
}
|
|
22
|
+
h1 {
|
|
23
|
+
color: #2563eb;
|
|
24
|
+
margin-bottom: 20px;
|
|
25
|
+
}
|
|
26
|
+
.button {
|
|
27
|
+
display: inline-block;
|
|
28
|
+
background-color: #2563eb;
|
|
29
|
+
color: #ffffff !important;
|
|
30
|
+
text-decoration: none;
|
|
31
|
+
padding: 12px 30px;
|
|
32
|
+
border-radius: 6px;
|
|
33
|
+
font-weight: 600;
|
|
34
|
+
margin: 20px 0;
|
|
35
|
+
}
|
|
36
|
+
.button:hover {
|
|
37
|
+
background-color: #1d4ed8;
|
|
38
|
+
}
|
|
39
|
+
.footer {
|
|
40
|
+
margin-top: 30px;
|
|
41
|
+
padding-top: 20px;
|
|
42
|
+
border-top: 1px solid #e5e7eb;
|
|
43
|
+
font-size: 14px;
|
|
44
|
+
color: #6b7280;
|
|
45
|
+
}
|
|
46
|
+
.link-fallback {
|
|
47
|
+
font-size: 12px;
|
|
48
|
+
color: #6b7280;
|
|
49
|
+
word-break: break-all;
|
|
50
|
+
margin-top: 15px;
|
|
51
|
+
}
|
|
52
|
+
</style>
|
|
53
|
+
</head>
|
|
54
|
+
<body>
|
|
55
|
+
<div class="container">
|
|
56
|
+
<h1>Hallo <%= name %>,</h1>
|
|
57
|
+
|
|
58
|
+
<p>Vielen Dank für Ihre Registrierung bei <%= appName %>!</p>
|
|
59
|
+
|
|
60
|
+
<p>Bitte klicken Sie auf die Schaltfläche unten, um Ihre E-Mail-Adresse zu bestätigen:</p>
|
|
61
|
+
|
|
62
|
+
<p style="text-align: center;">
|
|
63
|
+
<a href="<%= link %>" class="button">E-Mail-Adresse bestätigen</a>
|
|
64
|
+
</p>
|
|
65
|
+
|
|
66
|
+
<p>Dieser Link ist <strong><%= expiresIn %></strong> gültig.</p>
|
|
67
|
+
|
|
68
|
+
<div class="footer">
|
|
69
|
+
<p>Wenn Sie kein Konto erstellt haben, können Sie diese E-Mail ignorieren.</p>
|
|
70
|
+
|
|
71
|
+
<p class="link-fallback">
|
|
72
|
+
Falls die Schaltfläche nicht funktioniert, kopieren Sie diesen Link in Ihren Browser:<br>
|
|
73
|
+
<a href="<%= link %>"><%= link %></a>
|
|
74
|
+
</p>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</body>
|
|
78
|
+
</html>
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Verify your email address</title>
|
|
7
|
+
<style>
|
|
8
|
+
body {
|
|
9
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
10
|
+
line-height: 1.6;
|
|
11
|
+
color: #333;
|
|
12
|
+
max-width: 600px;
|
|
13
|
+
margin: 0 auto;
|
|
14
|
+
padding: 20px;
|
|
15
|
+
}
|
|
16
|
+
.container {
|
|
17
|
+
background-color: #ffffff;
|
|
18
|
+
border-radius: 8px;
|
|
19
|
+
padding: 30px;
|
|
20
|
+
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
|
21
|
+
}
|
|
22
|
+
h1 {
|
|
23
|
+
color: #2563eb;
|
|
24
|
+
margin-bottom: 20px;
|
|
25
|
+
}
|
|
26
|
+
.button {
|
|
27
|
+
display: inline-block;
|
|
28
|
+
background-color: #2563eb;
|
|
29
|
+
color: #ffffff !important;
|
|
30
|
+
text-decoration: none;
|
|
31
|
+
padding: 12px 30px;
|
|
32
|
+
border-radius: 6px;
|
|
33
|
+
font-weight: 600;
|
|
34
|
+
margin: 20px 0;
|
|
35
|
+
}
|
|
36
|
+
.button:hover {
|
|
37
|
+
background-color: #1d4ed8;
|
|
38
|
+
}
|
|
39
|
+
.footer {
|
|
40
|
+
margin-top: 30px;
|
|
41
|
+
padding-top: 20px;
|
|
42
|
+
border-top: 1px solid #e5e7eb;
|
|
43
|
+
font-size: 14px;
|
|
44
|
+
color: #6b7280;
|
|
45
|
+
}
|
|
46
|
+
.link-fallback {
|
|
47
|
+
font-size: 12px;
|
|
48
|
+
color: #6b7280;
|
|
49
|
+
word-break: break-all;
|
|
50
|
+
margin-top: 15px;
|
|
51
|
+
}
|
|
52
|
+
</style>
|
|
53
|
+
</head>
|
|
54
|
+
<body>
|
|
55
|
+
<div class="container">
|
|
56
|
+
<h1>Hello <%= name %>,</h1>
|
|
57
|
+
|
|
58
|
+
<p>Thank you for registering with <%= appName %>!</p>
|
|
59
|
+
|
|
60
|
+
<p>Please click the button below to verify your email address:</p>
|
|
61
|
+
|
|
62
|
+
<p style="text-align: center;">
|
|
63
|
+
<a href="<%= link %>" class="button">Verify Email Address</a>
|
|
64
|
+
</p>
|
|
65
|
+
|
|
66
|
+
<p>This link will expire in <strong><%= expiresIn %></strong>.</p>
|
|
67
|
+
|
|
68
|
+
<div class="footer">
|
|
69
|
+
<p>If you did not create an account, you can safely ignore this email.</p>
|
|
70
|
+
|
|
71
|
+
<p class="link-fallback">
|
|
72
|
+
If the button doesn't work, copy and paste this link into your browser:<br>
|
|
73
|
+
<a href="<%= link %>"><%= link %></a>
|
|
74
|
+
</p>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</body>
|
|
78
|
+
</html>
|
|
@@ -42,6 +42,7 @@ export interface TestGraphQLVariable {
|
|
|
42
42
|
}
|
|
43
43
|
export interface TestRestOptions {
|
|
44
44
|
attachments?: Record<string, string>;
|
|
45
|
+
cookies?: Record<string, string> | string;
|
|
45
46
|
headers?: Record<string, string>;
|
|
46
47
|
log?: boolean;
|
|
47
48
|
logError?: boolean;
|
|
@@ -65,5 +66,8 @@ export declare class TestHelper {
|
|
|
65
66
|
processVariables(request: any, variables: Record<string, TestGraphQLVariable>, query: object | string): any;
|
|
66
67
|
processResponse(response: any, statusCode: any, log: any, logError: any): any;
|
|
67
68
|
getSubscription(graphql: TestGraphQLConfig, query: string, options?: TestGraphQLOptions): Promise<any[]>;
|
|
69
|
+
static buildBetterAuthCookies(sessionToken: string, basePath?: string): Record<string, string>;
|
|
70
|
+
static extractCookies(response: any): Record<string, string>;
|
|
71
|
+
static extractSessionToken(response: any, cookieName?: string): null | string;
|
|
68
72
|
parseJwt(token: any): any;
|
|
69
73
|
}
|
package/dist/test/test.helper.js
CHANGED
|
@@ -183,8 +183,9 @@ class TestHelper {
|
|
|
183
183
|
token: null,
|
|
184
184
|
...options,
|
|
185
185
|
};
|
|
186
|
-
const { attachments, log, logError, returnResponse, statusCode, token } = config;
|
|
186
|
+
const { attachments, cookies, log, logError, returnResponse, statusCode, token } = config;
|
|
187
187
|
const requestConfig = {
|
|
188
|
+
cookies,
|
|
188
189
|
headers: config.headers,
|
|
189
190
|
method: config.method,
|
|
190
191
|
url,
|
|
@@ -275,6 +276,22 @@ class TestHelper {
|
|
|
275
276
|
if (token) {
|
|
276
277
|
request.set('Authorization', `bearer ${token}`);
|
|
277
278
|
}
|
|
279
|
+
if (requestConfig.cookies) {
|
|
280
|
+
let cookieString;
|
|
281
|
+
if (typeof requestConfig.cookies === 'string') {
|
|
282
|
+
if (!requestConfig.cookies.includes('=') && !requestConfig.cookies.includes(';')) {
|
|
283
|
+
const cookieRecord = TestHelper.buildBetterAuthCookies(requestConfig.cookies);
|
|
284
|
+
cookieString = Object.entries(cookieRecord).map(([k, v]) => `${k}=${v}`).join('; ');
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
cookieString = requestConfig.cookies;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
cookieString = Object.entries(requestConfig.cookies).map(([k, v]) => `${k}=${v}`).join('; ');
|
|
292
|
+
}
|
|
293
|
+
request.set('Cookie', cookieString);
|
|
294
|
+
}
|
|
278
295
|
if (requestConfig.headers) {
|
|
279
296
|
for (const [key, value] of Object.entries(requestConfig.headers)) {
|
|
280
297
|
request.set(key, value);
|
|
@@ -393,6 +410,42 @@ class TestHelper {
|
|
|
393
410
|
});
|
|
394
411
|
return messages;
|
|
395
412
|
}
|
|
413
|
+
static buildBetterAuthCookies(sessionToken, basePath = 'iam') {
|
|
414
|
+
return {
|
|
415
|
+
[`${basePath}.session_token`]: sessionToken,
|
|
416
|
+
'token': sessionToken,
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
static extractCookies(response) {
|
|
420
|
+
const cookies = {};
|
|
421
|
+
const setCookieHeaders = response?.headers?.['set-cookie'];
|
|
422
|
+
if (!setCookieHeaders) {
|
|
423
|
+
return cookies;
|
|
424
|
+
}
|
|
425
|
+
const headerArray = Array.isArray(setCookieHeaders) ? setCookieHeaders : [setCookieHeaders];
|
|
426
|
+
for (const cookie of headerArray) {
|
|
427
|
+
const parts = cookie.split(';')[0];
|
|
428
|
+
const eqIndex = parts.indexOf('=');
|
|
429
|
+
if (eqIndex > 0) {
|
|
430
|
+
const name = parts.substring(0, eqIndex).trim();
|
|
431
|
+
const value = parts.substring(eqIndex + 1).trim();
|
|
432
|
+
cookies[name] = value;
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
return cookies;
|
|
436
|
+
}
|
|
437
|
+
static extractSessionToken(response, cookieName = 'iam.session_token') {
|
|
438
|
+
const cookies = TestHelper.extractCookies(response);
|
|
439
|
+
const value = cookies[cookieName];
|
|
440
|
+
if (!value) {
|
|
441
|
+
return null;
|
|
442
|
+
}
|
|
443
|
+
const dotIndex = value.lastIndexOf('.');
|
|
444
|
+
if (dotIndex > 0 && dotIndex < value.length - 1) {
|
|
445
|
+
return value.substring(0, dotIndex);
|
|
446
|
+
}
|
|
447
|
+
return value;
|
|
448
|
+
}
|
|
396
449
|
parseJwt(token) {
|
|
397
450
|
return JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString());
|
|
398
451
|
}
|