Quiero actualizar la información de un cliente que consta de nombre, apellido, correo electrónico y contraseña. Quiero cifrar la contraseña cuando se actualice. Escribí mi ruta así:
customerRouter.put( '/:id', isAuth, expressAsyncHandler( async (req, res) => { const {id} = req.params; const customer = await Customers.findOne({where: {id: id}}); const {firstname,lastname,password,email} = req.body; if (!customer) { res.status(401).send({ message: "Customer Not Found", }); }else{ bcrypt.hash(password,10).then((hash)=>{ customer.firstName = firstname || customer.firstName customer.lastName = lastname || customer.lastName customer.email = email || customer.email customer.password = hash || customer.password }) const updatedCustomer = await customer.save(); res.send({ id: updatedCustomer.id, firstname: updatedCustomer.firstName, lastname: updatedCustomer.lastName, email: updatedCustomer.email, isAdmin: updatedCustomer.isAdmin, token: generateToken(updatedCustomer) }); }; }) );La contraseña no cambiará en el backend, tenía un método anterior que no encriptaba y solo cambiaba la contraseña, pero este no encripta la contraseña ni la cambia. Cualquier ayuda/orientación es muy apreciada.