mp/Sean/models/User.js
2024-01-21 16:07:27 +08:00

54 lines
1.0 KiB
JavaScript

const { Sequelize, DataTypes } = require('sequelize');
const bcrypt = require('bcrypt');
module.exports = (sequelize) => {
const User = sequelize.define('users', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
name: {
type: DataTypes.STRING,
allowNull: false,
},
username: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
},
email: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
},
password: {
type: DataTypes.STRING,
allowNull: false,
},
jobTitle: {
type: DataTypes.STRING,
allowNull: false,
},
reset_token: {
type: DataTypes.STRING,
},
reset_token_expiry: {
type: DataTypes.DATE,
},
sessionid: {
type: DataTypes.STRING,
},
}, {
hooks: {
beforeCreate: async (user) => {
user.password = await bcrypt.hash(user.password, 10);
},
},
timestamps: false, // Disabling timestamps here
});
return User;
};