correção da atualização do email
parent
57b32a99e7
commit
a2471fd08d
|
@ -1,7 +1,7 @@
|
|||
import * as Yup from "yup";
|
||||
|
||||
import AppError from "../../errors/AppError";
|
||||
import ShowUserService from "./ShowUserService";
|
||||
import ShowUserService from "./ShowUserService";
|
||||
import User from "../../models/User";
|
||||
|
||||
interface UserData {
|
||||
|
@ -31,20 +31,32 @@ const UpdateUserService = async ({
|
|||
const user = await ShowUserService(userId);
|
||||
|
||||
const schema = Yup.object().shape({
|
||||
name: Yup.string().min(2),
|
||||
name: Yup.string().min(2),
|
||||
// email: Yup.string().min(2),
|
||||
profile: Yup.string(),
|
||||
password: Yup.string(),
|
||||
|
||||
|
||||
email: Yup.string().trim().required().test(
|
||||
"Check-email",
|
||||
"An user with this email already exists.",
|
||||
async value => {
|
||||
|
||||
if (!value) return false;
|
||||
const emailExists = await User.findOne({
|
||||
where: { email: value }
|
||||
});
|
||||
return !emailExists;
|
||||
|
||||
const emailExists = await User.findOne({ where: { email: value }, raw: true, attributes: ['email', 'id'] });
|
||||
|
||||
console.log('emailExists.email: ', emailExists?.email)
|
||||
console.log('User.email: ', user.email)
|
||||
console.log('emailExists.id: ', emailExists?.id)
|
||||
console.log('User.id: ', user.id)
|
||||
|
||||
if (emailExists && user.id != emailExists?.id) {
|
||||
|
||||
console.error('The email already exists in another user profile!')
|
||||
return !emailExists;
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
),
|
||||
|
||||
|
@ -57,7 +69,7 @@ const UpdateUserService = async ({
|
|||
} catch (err: any) {
|
||||
throw new AppError(err.message);
|
||||
}
|
||||
|
||||
|
||||
|
||||
await user.update({
|
||||
email,
|
||||
|
|
Loading…
Reference in New Issue