bug fixed

This commit is contained in:
daniel31x13 2023-10-23 01:45:31 -04:00
parent 565ee92d20
commit bcae97a296
2 changed files with 30 additions and 7 deletions

View File

@ -54,10 +54,10 @@ export default async function postUser(
const checkIfUserExists = await prisma.user.findFirst({
where: emailEnabled
? {
email: body.email?.toLowerCase(),
email: body.email?.toLowerCase().trim(),
}
: {
username: (body.username as string).toLowerCase(),
username: (body.username as string).toLowerCase().trim(),
},
});
@ -71,8 +71,8 @@ export default async function postUser(
name: body.name,
username: emailEnabled
? undefined
: (body.username as string).toLowerCase(),
email: emailEnabled ? body.email?.toLowerCase() : undefined,
: (body.username as string).toLowerCase().trim(),
email: emailEnabled ? body.email?.toLowerCase().trim() : undefined,
password: hashedPassword,
},
});

View File

@ -29,6 +29,15 @@ export default async function updateUser(
status: 400,
};
// Check email (if enabled)
const checkEmail =
/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
if (emailEnabled && !checkEmail.test(data.email?.toLowerCase() || ""))
return {
response: "Please enter a valid email.",
status: 400,
};
const checkUsername = RegExp("^[a-z0-9_-]{3,31}$");
if (!checkUsername.test(data.username.toLowerCase()))
@ -58,11 +67,25 @@ export default async function updateUser(
},
});
if (userIsTaken)
if (userIsTaken) {
if (data.email?.toLowerCase().trim() === userIsTaken.email?.trim())
return {
response: "Email is taken.",
status: 400,
};
else if (
data.username?.toLowerCase().trim() === userIsTaken.username?.trim()
)
return {
response: "Username is taken.",
status: 400,
};
return {
response: "Username/Email is taken.",
status: 400,
};
}
// Avatar Settings
@ -105,8 +128,8 @@ export default async function updateUser(
},
data: {
name: data.name,
username: data.username.toLowerCase(),
email: data.email?.toLowerCase(),
username: data.username.toLowerCase().trim(),
email: data.email?.toLowerCase().trim(),
isPrivate: data.isPrivate,
archiveAsScreenshot: data.archiveAsScreenshot,
archiveAsPDF: data.archiveAsPDF,