const { Sequelize } = require('sequelize'); const config = require('../config/database'); const env = process.env.NODE_ENV || 'development'; const dbConfig = config[env]; // Initialize Sequelize const sequelize = new Sequelize( dbConfig.database, dbConfig.username, dbConfig.password, { host: dbConfig.host, port: dbConfig.port, dialect: dbConfig.dialect, logging: dbConfig.logging, pool: dbConfig.pool, dialectOptions: dbConfig.dialectOptions } ); const db = {}; // Import models db.User = require('./User')(sequelize, Sequelize.DataTypes); db.Application = require('./Application')(sequelize, Sequelize.DataTypes); db.Resignation = require('./Resignation')(sequelize, Sequelize.DataTypes); db.ConstitutionalChange = require('./ConstitutionalChange')(sequelize, Sequelize.DataTypes); db.RelocationRequest = require('./RelocationRequest')(sequelize, Sequelize.DataTypes); db.Outlet = require('./Outlet')(sequelize, Sequelize.DataTypes); db.Worknote = require('./Worknote')(sequelize, Sequelize.DataTypes); db.Document = require('./Document')(sequelize, Sequelize.DataTypes); db.AuditLog = require('./AuditLog')(sequelize, Sequelize.DataTypes); db.FinancePayment = require('./FinancePayment')(sequelize, Sequelize.DataTypes); db.FnF = require('./FnF')(sequelize, Sequelize.DataTypes); db.Region = require('./Region')(sequelize, Sequelize.DataTypes); db.Zone = require('./Zone')(sequelize, Sequelize.DataTypes); // Define associations Object.keys(db).forEach(modelName => { if (db[modelName].associate) { db[modelName].associate(db); } }); db.sequelize = sequelize; db.Sequelize = Sequelize; module.exports = db;