summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/common/signup.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/server/api/common/signup.ts')
-rw-r--r--packages/backend/src/server/api/common/signup.ts17
1 files changed, 9 insertions, 8 deletions
diff --git a/packages/backend/src/server/api/common/signup.ts b/packages/backend/src/server/api/common/signup.ts
index 7689e8233f..abc142472a 100644
--- a/packages/backend/src/server/api/common/signup.ts
+++ b/packages/backend/src/server/api/common/signup.ts
@@ -4,12 +4,13 @@ import generateUserToken from './generate-native-user-token.js';
import { User } from '@/models/entities/user.js';
import { Users, UsedUsernames } from '@/models/index.js';
import { UserProfile } from '@/models/entities/user-profile.js';
-import { getConnection } from 'typeorm';
+import { IsNull } from 'typeorm';
import { genId } from '@/misc/gen-id.js';
import { toPunyNullable } from '@/misc/convert-host.js';
import { UserKeypair } from '@/models/entities/user-keypair.js';
import { usersChart } from '@/services/chart/index.js';
import { UsedUsername } from '@/models/entities/used-username.js';
+import { db } from '@/db/postgre.js';
export async function signup(opts: {
username: User['username'];
@@ -40,12 +41,12 @@ export async function signup(opts: {
const secret = generateUserToken();
// Check username duplication
- if (await Users.findOne({ usernameLower: username.toLowerCase(), host: null })) {
+ if (await Users.findOneBy({ usernameLower: username.toLowerCase(), host: IsNull() })) {
throw new Error('DUPLICATED_USERNAME');
}
// Check deleted username duplication
- if (await UsedUsernames.findOne({ username: username.toLowerCase() })) {
+ if (await UsedUsernames.findOneBy({ username: username.toLowerCase() })) {
throw new Error('USED_USERNAME');
}
@@ -69,10 +70,10 @@ export async function signup(opts: {
let account!: User;
// Start transaction
- await getConnection().transaction(async transactionalEntityManager => {
- const exist = await transactionalEntityManager.findOne(User, {
+ await db.transaction(async transactionalEntityManager => {
+ const exist = await transactionalEntityManager.findOneBy(User, {
usernameLower: username.toLowerCase(),
- host: null,
+ host: IsNull(),
});
if (exist) throw new Error(' the username is already used');
@@ -84,8 +85,8 @@ export async function signup(opts: {
usernameLower: username.toLowerCase(),
host: toPunyNullable(host),
token: secret,
- isAdmin: (await Users.count({
- host: null,
+ isAdmin: (await Users.countBy({
+ host: IsNull(),
})) === 0,
}));