Я разрабатываю API с помощью nodejs / express / sequelize.
На самом деле, когда я создаю учетную запись пользователя.Я получил хук 'beforeCreate', который хэширует пароль пользователя благодаря bcrypt:
User.hook('beforeCreate', (user) => {
if (user.password) {
user.password = bcrypt.hashSync(user.password, bcrypt.genSaltSync(10), null);
}
});
, где user.password
- пароль, который я указал при регистрации.
Эта часть работает хорошо.
Во-вторых, у меня есть функция, которая обновляет эту учетную запись пользователя.Логически я добавил капот 'beforeUpdate':
User.hook('beforeUpdate', (user) => {
console.log(user);
if (user.password) {
user.password = bcrypt.hashSync(user.password, bcrypt.genSaltSync(10), null);
}
});
Но у меня возникла проблема с этим, потому что user.password
- это не мои предоставленные данные в запросе PATCH, а хешированный пароль в моей базе данных.
Полагаю, это пароль модели, а не пароль экземпляра ... Я не знаю.Если бы кто-то мог помочь мне получить значение запроса, было бы неплохо.