54 lines
1.4 KiB
JavaScript
54 lines
1.4 KiB
JavaScript
const config = require("../config/sqlite.config");
|
|
|
|
const Sequelize = require("sequelize");
|
|
const sequelize = new Sequelize({
|
|
dialect: config.dialect,
|
|
storage: config.storage,
|
|
logQueryParameters: config.logQueryParameters,
|
|
benchmark: config.benchmark
|
|
});
|
|
|
|
// const sequelize = new Sequelize(
|
|
// config.DB,
|
|
// config.USER,
|
|
// config.PASSWORD,
|
|
// {
|
|
// host: config.HOST,
|
|
// dialect: config.dialect,
|
|
// pool: {
|
|
// max: config.pool.max,
|
|
// min: config.pool.min,
|
|
// acquire: config.pool.acquire,
|
|
// idle: config.pool.idle
|
|
// }
|
|
// }
|
|
// );
|
|
|
|
const db = {};
|
|
|
|
db.Sequelize = Sequelize;
|
|
db.sequelize = sequelize;
|
|
|
|
db.user = require("../models/user.model.js")(sequelize);
|
|
db.role = require("../models/role.model.js")(sequelize);
|
|
db.pitchType = require("../models/pitchType.model.js")(sequelize);
|
|
db.pitch = require("../models/pitch.model.js")(sequelize);
|
|
db.bullpenSession = require("../models/bullpenSession.model.js")(sequelize);
|
|
|
|
db.role.belongsToMany(db.user, {
|
|
through: "UserRoles"
|
|
});
|
|
db.user.belongsToMany(db.role, {
|
|
through: "UserRoles"
|
|
});
|
|
|
|
db.ROLES = ["user", "admin", "moderator"];
|
|
|
|
db.bullpenSession.hasMany(db.pitch);
|
|
db.bullpenSession.belongsTo(db.user, {
|
|
as: "pitcher"
|
|
});
|
|
db.pitch.belongsTo(db.bullpenSession);
|
|
db.pitch.belongsTo(db.pitchType);
|
|
|
|
module.exports = db; |