gugut
Version:
Node.js token-based authentication module
40 lines (38 loc) • 819 B
JavaScript
const bcrypt = require("bcrypt");
module.exports = (sequelize, Sequelize) => {
return sequelize.define('users', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true,
},
// attributes
first_name: {
type: Sequelize.STRING,
allowNull: false
},
last_name: {
type: Sequelize.STRING
// allowNull defaults to true
},
email: {
type: Sequelize.STRING,
allowNull: false
},
password: {
type: Sequelize.STRING,
allowNull: false
},
access_token: {
type: Sequelize.TEXT
// allowNull defaults to true
}
}, {
freezeTableName: true,
hooks: {
beforeCreate: (user) => {
user.password = bcrypt.hashSync(user.password, bcrypt.genSaltSync());
}
}
});
};