fh-wfm-user
Version:
27 lines (25 loc) • 830 B
JavaScript
/**
* Example migration to update user passwords to their hashed versions
*/
var hash = require('../lib/user/hash'); // require the hashing functions from inside this module.
var db = require('my-db');
// the `up` name is from [migrate](https://github.com/tj/node-migrate) convention
exports.up = function(done) {
var updatePromises = db['users'].find().map(function(user) {
return new Promise(function(resolve, reject) {
hash.saltAndHash(user.password, function(err, hashed) {
if (err) {
return reject(new Error(err));
}
user.password = hashed;
db.update(user, function(err, user) {
if (err) {
return reject(new Error(err));
}
return resolve(user);
});
});
});
});
Promise.all(updatePromises).then(done);
};