Basic user CR
This commit is contained in:
36
server/models/User.js
Normal file
36
server/models/User.js
Normal file
@@ -0,0 +1,36 @@
|
||||
module.exports = (sequelize, DataTypes) => {
|
||||
const User = sequelize.define(
|
||||
"User",
|
||||
{
|
||||
id: {
|
||||
type: DataTypes.INTEGER(),
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
},
|
||||
firstName: {
|
||||
type: DataTypes.STRING(100),
|
||||
allowNull: false,
|
||||
},
|
||||
lastName: {
|
||||
type: DataTypes.STRING(100),
|
||||
allowNull: false,
|
||||
},
|
||||
email: {
|
||||
type: DataTypes.STRING(69),
|
||||
allowNull: false,
|
||||
},
|
||||
phoneNumber: {
|
||||
type: DataTypes.STRING(8),
|
||||
allowNull: false,
|
||||
},
|
||||
passwordHash: {
|
||||
type: DataTypes.STRING(255),
|
||||
allowNull: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
tableName: "users",
|
||||
}
|
||||
);
|
||||
return User;
|
||||
};
|
||||
42
server/models/index.js
Normal file
42
server/models/index.js
Normal file
@@ -0,0 +1,42 @@
|
||||
"use strict";
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const Sequelize = require("sequelize");
|
||||
const process = require("process");
|
||||
const basename = path.basename(__filename);
|
||||
const db = {};
|
||||
require("dotenv").config();
|
||||
// Create sequelize instance using config
|
||||
let sequelize = new Sequelize(
|
||||
process.env.DB_NAME,
|
||||
process.env.DB_USER,
|
||||
process.env.DB_PWD,
|
||||
{
|
||||
host: process.env.DB_HOST,
|
||||
port: process.env.DB_PORT,
|
||||
dialect: "mysql",
|
||||
logging: false,
|
||||
timezone: "+08:00",
|
||||
}
|
||||
);
|
||||
fs.readdirSync(__dirname)
|
||||
.filter((file) => {
|
||||
return (
|
||||
file.indexOf(".") !== 0 && file !== basename && file.slice(-3) === ".js"
|
||||
);
|
||||
})
|
||||
.forEach((file) => {
|
||||
const model = require(path.join(__dirname, file))(
|
||||
sequelize,
|
||||
Sequelize.DataTypes
|
||||
);
|
||||
db[model.name] = model;
|
||||
});
|
||||
Object.keys(db).forEach((modelName) => {
|
||||
if (db[modelName].associate) {
|
||||
db[modelName].associate(db);
|
||||
}
|
||||
});
|
||||
db.sequelize = sequelize;
|
||||
db.Sequelize = Sequelize;
|
||||
module.exports = db;
|
||||
Reference in New Issue
Block a user