1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-22 10:22:39 +01:00

fix being able to register with taken username

This commit is contained in:
Puyodead1 2023-09-08 22:38:56 -04:00 committed by Puyodead1
parent 56c283d4ce
commit d88e9273ff
No known key found for this signature in database
GPG Key ID: BA5F91AAEF68E5CE
4 changed files with 11 additions and 8 deletions

View File

@ -35,7 +35,7 @@ router.get("/", route({}), (req: Request, res: Response) => {
if (uniqueUsernames) {
// hash, revision, bucket, override, population, hash_result, as_mode
// bucket 4 is used by the official client, and enables live checking and suggestions, 3 is only live checking
data.assignments.push([2476969328, 0, 3, -1, 0, 9267, 0, 0]);
data.assignments.push([2476969328, 0, 4, -1, 0, 9267, 0, 0]);
}
res.send(data);
});

View File

@ -25,7 +25,7 @@ router.post(
}
res.json({
taken: !User.isUsernameAvailable(body.username),
taken: !(await User.isUsernameAvailable(body.username)),
});
},
);

View File

@ -172,7 +172,7 @@ router.patch(
}
// check if username is already taken (pomelo only)
if (!User.isUsernameAvailable(body.username))
if (!(await User.isUsernameAvailable(body.username)))
throw FieldErrors({
username: {
code: "USERNAME_ALREADY_TAKEN",

View File

@ -379,7 +379,7 @@ export class User extends BaseClass {
if (uniqueUsernames) {
// check if there is already an account with this username
if (!User.isUsernameAvailable(username))
if (!(await User.isUsernameAvailable(username)))
throw FieldErrors({
username: {
code: "USERNAME_ALREADY_TAKEN",
@ -463,11 +463,14 @@ export class User extends BaseClass {
}
static async isUsernameAvailable(username: string) {
const user = await User.findOne({
where: { username },
select: ["id"],
// TODO: implement regex check?
const count = await User.count({
where: {
username: username.toLowerCase(),
},
});
return !user;
return count === 0;
}
}