56 lines
2.4 KiB
JavaScript
56 lines
2.4 KiB
JavaScript
const dbConfig = require("../config/db.config.js");
|
|
const { Sequelize, DataTypes } = require("sequelize");
|
|
|
|
const sequelize = new Sequelize(dbConfig.DB, dbConfig.USER, dbConfig.PASSWORD, {
|
|
host: dbConfig.HOST,
|
|
dialect: dbConfig.dialect,
|
|
pool: dbConfig.pool,
|
|
logging: false,
|
|
});
|
|
|
|
const db = {};
|
|
db.Sequelize = Sequelize;
|
|
db.sequelize = sequelize;
|
|
|
|
db.user = require("./user.model.js")(sequelize, DataTypes);
|
|
db.Establishment = require("./establishment.model")(sequelize, DataTypes);
|
|
db.EstablishmentUser = require("./establishment_user.model")(sequelize, DataTypes);
|
|
db.Product = require("./product.model.js")(sequelize, DataTypes);
|
|
db.EstablishmentProduct = require("./establishmentProduct.model")(sequelize, DataTypes);
|
|
db.VariationReasonMaster = require("./variationReasonMaster.model")(sequelize, DataTypes);
|
|
db.ZeroTargetReasonMaster = require("./zeroTargetReason.model")(sequelize, DataTypes);
|
|
db.Submission = require("./submission.model")(sequelize, DataTypes);
|
|
db.SubmissionProduct = require("./submissionProduct.model")(sequelize, DataTypes);
|
|
db.UnitMaster = require("./UnitMaster.model")(sequelize, DataTypes);
|
|
db.SubmissionDeadline = require("./submissionDeadline.model")(sequelize, DataTypes);
|
|
db.NotificationTemplate = require("./notificationTemplate.model")(sequelize, DataTypes);
|
|
db.QuarterlyWindowsConfiguration = require("./quarterlyWindowsConfiguration.model")(sequelize, DataTypes);
|
|
db.EstablishmentPasswordResetRequest = require("./establishmentPasswordResetRequest.model")(sequelize, DataTypes);
|
|
db.Emirate = require("./emirate.model")(sequelize, DataTypes);
|
|
db.CityTown = require("./cityTown.model")(sequelize, DataTypes);
|
|
db.SubmissionHistory = require("./submissionHistory.model")(sequelize, DataTypes);
|
|
db.ManufacturingIpi = require("./manufacturingIPI.model.js")(sequelize, DataTypes);
|
|
db.Isic2DigitIndices = require("./isic2DigitIndices.model.js")(sequelize, DataTypes);
|
|
db.Isic3DigitIndices = require("./isic3DigitIndices.model.js")(sequelize, DataTypes);
|
|
db.Isic4DigitIndices = require("./isic4DigitIndices.model.js")(sequelize, DataTypes);
|
|
// Associations
|
|
db.Establishment.hasMany(db.EstablishmentUser, {
|
|
foreignKey: "establishment_id",
|
|
as: "users",
|
|
});
|
|
|
|
db.EstablishmentUser.belongsTo(db.Establishment, {
|
|
foreignKey: "establishment_id",
|
|
as: "establishment",
|
|
});
|
|
|
|
// **Call associate methods defined in models**
|
|
Object.keys(db).forEach((modelName) => {
|
|
if (db[modelName].associate) {
|
|
db[modelName].associate(db);
|
|
}
|
|
});
|
|
|
|
|
|
module.exports = db;
|