sequelize.js
Wijzig attributen in beforeCreate hook
Zoeken…
Invoering
Mogelijk moeten we de kenmerken aanpassen voordat het record wordt gemaakt. Mijn use case codeerde het wachtwoord toen de gebruiker werd aangemaakt.
Hooks doc is hier http://docs.sequelizejs.com/en/v3/docs/hooks/#instance-hooks . Het documenteert de manier om het te gebruiken met een bibliotheek / functie die een Promise retourneert. Maar de use case met een callback is niet duidelijk gedocumenteerd.
Syntaxis
- beforeCreate (bijvoorbeeld)
- beforeCreate (instantie, opties, fn)
Voorbeeld van het werken met een bibliotheek die Promise niet gebruikt
function cryptPassword(password, callback) {
bcrypt.genSalt(SALT_WORK_FACTOR, function(err, salt) {
if (err)
return callback(err);
bcrypt.hash(password, salt, null, function(err, hash) {
return callback(err, hash);
});
});
}
User.beforeCreate((user, options, cb) => {
cryptPassword(user.password, (err, hash) => {
if (err) return cb(err);
user.password = hash;
// invoking the finish callback is important!
return cb(null, options);
});
});
Voorbeeld van het werken met een bibliotheek die Promise niet gebruikt
User.beforeCreate(function(user, options) {
return hashPassword(user.password).then(function (hashedPw) {
user.password = hashedPw;
});
})
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow