minor error handling

This commit is contained in:
Daniel 2023-07-18 12:44:37 -04:00
parent 010d8d12ff
commit 2bd9a97d2f
2 changed files with 34 additions and 17 deletions

View File

@ -78,28 +78,25 @@ export default function ProfileSettings({
if (response.ok) {
toast.success("Settings Applied!");
toggleSettingsModal();
} else toast.error(response.data as string);
setSubmitLoader(false);
if (
user.username !== account.username ||
user.name !== account.name ||
user.email !== account.email
) {
update({
username: user.username,
email: user.username,
name: user.name,
});
if (
user.username !== account.username ||
user.name !== account.name ||
user.email !== account.email
) {
update({
username: user.username,
email: user.username,
name: user.name,
});
signOut();
}
signOut();
}
if (response.ok) {
setUser({ ...user, newPassword: undefined });
toggleSettingsModal();
}
} else toast.error(response.data as string);
setSubmitLoader(false);
};
return (

View File

@ -20,6 +20,26 @@ export default async function updateUser(
status: 400,
};
const userIsTaken = await prisma.user.findFirst({
where: {
id: { not: sessionUser.id },
OR: [
{
username: user.username.toLowerCase(),
},
{
email: user.email.toLowerCase(),
},
],
},
});
if (userIsTaken)
return {
response: "Username/Email is taken.",
status: 400,
};
// Avatar Settings
const profilePic = user.profilePic;