Я пытаюсь получить пароль перед сохранением в БД в приложении Node. В ответ я получаю объект с хешированным паролем, но в БД поле пустое. Я подозреваю, что проблема в асин c, но не могу понять. Если я передаю простую строку через сеттер, это работает. Но я пытаюсь зашифровать его с помощью bcrypt, который основан на обещаниях.
router.post("/register", (req, res) => {
//req.body.password = await bcrypt.hash(req.body.password, 8)
User.create(req.body).then(user => res.send(user)).catch((err) => res.send(err))})
password: {
type: Sequelize.STRING,
validate: {
is: /^(?=.*[a-zA-z])(?=.*\d).{8,10}$/
},
set: async function(val) {
bcrypt.hash(val, 8).then(hashed => this.setDataValue("password", hashed))
}
}