From 25b74467ce0619d9f6a76e0c2d7d40298af0309b Mon Sep 17 00:00:00 2001 From: forehalo Date: Wed, 24 Jul 2024 10:01:53 +0000 Subject: [PATCH] fix(server): create dev user (#7592) --- packages/backend/server/src/core/auth/service.ts | 2 +- packages/backend/server/src/core/user/service.ts | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/backend/server/src/core/auth/service.ts b/packages/backend/server/src/core/auth/service.ts index 3619fef2d0..9e261188ec 100644 --- a/packages/backend/server/src/core/auth/service.ts +++ b/packages/backend/server/src/core/auth/service.ts @@ -76,7 +76,7 @@ export class AuthService implements OnApplicationBootstrap { const [email, name, password] = ['dev@affine.pro', 'Dev User', 'dev']; let devUser = await this.user.findUserByEmail(email); if (!devUser) { - devUser = await this.user.createUser({ + devUser = await this.user.createUser_without_verification({ email, name, password, diff --git a/packages/backend/server/src/core/user/service.ts b/packages/backend/server/src/core/user/service.ts index 5ba60788fc..be6e824945 100644 --- a/packages/backend/server/src/core/user/service.ts +++ b/packages/backend/server/src/core/user/service.ts @@ -14,6 +14,8 @@ import { import { Quota_FreePlanV1_1 } from '../quota/schema'; import { validators } from '../utils/validators'; +type CreateUserInput = Omit & { name?: string }; + @Injectable() export class UserService { private readonly logger = new Logger(UserService.name); @@ -52,9 +54,7 @@ export class UserService { }; } - async createUser( - data: Omit & { name?: string } - ) { + async createUser(data: CreateUserInput) { validators.assertValidEmail(data.email); const user = await this.findUserByEmail(data.email); @@ -71,7 +71,13 @@ export class UserService { max: config['auth/password.max'], min: config['auth/password.min'], }); + } + return this.createUser_without_verification(data); + } + + async createUser_without_verification(data: CreateUserInput) { + if (data.password) { data.password = await this.crypto.encryptPassword(data.password); }