diff options
| author | tamaina <tamaina@hotmail.co.jp> | 2023-05-02 10:26:18 +0000 |
|---|---|---|
| committer | tamaina <tamaina@hotmail.co.jp> | 2023-05-02 10:26:18 +0000 |
| commit | f3e43a0fc63d9beee74dfd1f29679ff95ef1e130 (patch) | |
| tree | 60ac12977553e89e8cca61713cfc6ae6ecb7aff7 /packages/backend/src/core/SignupService.ts | |
| parent | 初期ユーザー登録時にはpreservedUsernamesを無視する (diff) | |
| download | sharkey-f3e43a0fc63d9beee74dfd1f29679ff95ef1e130.tar.gz sharkey-f3e43a0fc63d9beee74dfd1f29679ff95ef1e130.tar.bz2 sharkey-f3e43a0fc63d9beee74dfd1f29679ff95ef1e130.zip | |
refactor
Diffstat (limited to 'packages/backend/src/core/SignupService.ts')
| -rw-r--r-- | packages/backend/src/core/SignupService.ts | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/packages/backend/src/core/SignupService.ts b/packages/backend/src/core/SignupService.ts index 2b8387f89c..364bcf0f84 100644 --- a/packages/backend/src/core/SignupService.ts +++ b/packages/backend/src/core/SignupService.ts @@ -80,14 +80,16 @@ export class SignupService { throw new Error('USED_USERNAME'); } - if (!opts.ignorePreservedUsernames) { + const isTheFirstUser = (await this.usersRepository.countBy({ host: IsNull() })) === 0; + + if (!opts.ignorePreservedUsernames || !isTheFirstUser) { const instance = await this.metaService.fetch(true); const isPreserved = instance.preservedUsernames.map(x => x.toLowerCase()).includes(username.toLowerCase()); if (isPreserved) { throw new Error('USED_USERNAME'); } } - + const keyPair = await new Promise<string[]>((res, rej) => generateKeyPair('rsa', { modulusLength: 4096, @@ -123,9 +125,7 @@ export class SignupService { usernameLower: username.toLowerCase(), host: this.utilityService.toPunyNullable(host), token: secret, - isRoot: (await this.usersRepository.countBy({ - host: IsNull(), - })) === 0, + isRoot: isTheFirstUser, })); await transactionalEntityManager.save(new UserKeypair({ |