const models = require("../../models");
module.exports = socket => {
return async (data) => {
let user = await models.User.findByPk(socket.request.session.user.email);
if (!user)
socket.emit("profileEdit", {error: {message: "not_found"}});
else if (!user.checkPassword(data.oldPassword))
socket.emit("profileEdit", {error: {message: "invalid_password"}});
else {
if (data.firstName !== user.firstName)
user.firstName = data.firstName;
if (data.lastName !== user.lastName)
user.lastName = data.lastName;
user.newPassword = data.newPassword;
if (data.password && !user.checkPassword(data.password))
user.passwordHash = data.password;
socket.request.session.user = user;
socket.request.session.save();
socket.emit("profileEdit", user)
}
};