summaryrefslogtreecommitdiff
path: root/packages/backend/src/core
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2023-05-02 10:26:18 +0000
committertamaina <tamaina@hotmail.co.jp>2023-05-02 10:26:18 +0000
commitf3e43a0fc63d9beee74dfd1f29679ff95ef1e130 (patch)
tree60ac12977553e89e8cca61713cfc6ae6ecb7aff7 /packages/backend/src/core
parent初期ユーザー登録時にはpreservedUsernamesを無視する (diff)
downloadsharkey-f3e43a0fc63d9beee74dfd1f29679ff95ef1e130.tar.gz
sharkey-f3e43a0fc63d9beee74dfd1f29679ff95ef1e130.tar.bz2
sharkey-f3e43a0fc63d9beee74dfd1f29679ff95ef1e130.zip
refactor
Diffstat (limited to 'packages/backend/src/core')
-rw-r--r--packages/backend/src/core/SignupService.ts10
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({