forked from hd-auth/auth.sigidli.com
36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
const bcrypt = require('bcrypt');
|
|
|
|
module.exports = function (sequelize, DataTypes, options) {
|
|
const model = sequelize.define("password", {
|
|
id: {
|
|
type: DataTypes.STRING,
|
|
defaultValue: function() {
|
|
return options.generateUniqueId()
|
|
},
|
|
primaryKey: true,
|
|
unique: true
|
|
},
|
|
password: {
|
|
type: DataTypes.STRING,
|
|
// primaryKey: true,
|
|
unique: true,
|
|
allowNull: false,
|
|
set(val) {
|
|
var hashedPassword = options != null && val != null && val.length > 0 ?
|
|
bcrypt.hashSync(val, bcrypt.genSaltSync(11)) :
|
|
null
|
|
;
|
|
this.setDataValue('password', hashedPassword);
|
|
}
|
|
// should have an accessor method the redacts this failed...
|
|
}
|
|
}, {
|
|
comment: "hashed password"
|
|
});
|
|
|
|
model.associate = (db) => {
|
|
model.User = model.belongsTo(db.User);
|
|
}
|
|
|
|
return model;
|
|
}; |