Как получить sh пароль в сетквиле, используя bcrypt? - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь получить пароль перед сохранением в БД в приложении 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))
    }
}
...