CHANGE ALL MYSQL TO ORM

This commit is contained in:
BIG2EYEZ
2024-01-18 18:34:09 +08:00
parent 61aeca0961
commit 8aeb622b17
8 changed files with 1169 additions and 725 deletions

View File

@ -1,35 +1,50 @@
// models/User.js
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = new Sequelize(process.env.database, process.env.user, process.env.password, {
host: process.env.host,
dialect: 'mysql',
timezone: 'Z', // Set the timezone to UTC
});
const bcrypt = require('bcrypt');
const User = sequelize.define('User', {
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,
},
});
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,
},
}, {
hooks: {
beforeCreate: async (user) => {
user.password = await bcrypt.hash(user.password, 10);
},
},
timestamps: false, // Disabling timestamps here
});
module.exports = User;
return User;
};

30
Sean/models/userLogs.js Normal file
View File

@ -0,0 +1,30 @@
// userLogs.js
const { Sequelize, DataTypes } = require('sequelize');
module.exports = (sequelize) => {
const userLogs = sequelize.define('user_logs', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
username: {
type: DataTypes.STRING,
allowNull: false,
},
activity: {
type: DataTypes.STRING,
allowNull: false,
},
timestamp: {
type: DataTypes.DATE,
allowNull: false,
defaultValue: Sequelize.literal('CURRENT_TIMESTAMP'),
},
}, {
timestamps: false, // Disabling timestamps
});
return userLogs;
};