Skip to content

Commit 1dda7bd

Browse files
authored
Merge pull request #4142 from nielskaspers/fix/issue-3981-case-insensitive-login
fix: make username login case-insensitive
2 parents a48f5aa + 7ca2478 commit 1dda7bd

3 files changed

Lines changed: 5 additions & 5 deletions

File tree

src/app/api/users/[userId]/route.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,14 @@ export async function POST(request: Request, { params }: { params: Promise<{ use
6363
}
6464

6565
if (username && auth.user.isAdmin) {
66-
data.username = username;
66+
data.username = username.toLowerCase();
6767
}
6868

6969
// Check when username changes
7070
if (data.username && user.username !== data.username) {
71-
const user = await getUserByUsername(username);
71+
const existingUser = await getUserByUsername(data.username);
7272

73-
if (user) {
73+
if (existingUser && existingUser.id !== userId) {
7474
return badRequest({ message: 'User already exists' });
7575
}
7676
}

src/app/api/users/route.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export async function POST(request: Request) {
3636

3737
const user = await createUser({
3838
id: id || uuid(),
39-
username,
39+
username: username.toLowerCase(),
4040
password: hashPassword(password),
4141
role: role ?? ROLES.user,
4242
});

src/queries/prisma/user.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export async function getUser(userId: string, options: GetUserOptions = {}) {
4646
}
4747

4848
export async function getUserByUsername(username: string, options: GetUserOptions = {}) {
49-
return findUser({ where: { username } }, options);
49+
return findUser({ where: { username: username.toLowerCase() } }, options);
5050
}
5151

5252
export async function getUsers(criteria: UserFindManyArgs, filters: QueryFilters = {}) {

0 commit comments

Comments
 (0)