/*********************************************************************************************************************************************************************** * File Name: db.config.js * Type of Program: Configuration * Description: Sequelize PostgreSQL connection instance. * Reads credentials from environment variables and exposes a single * authenticated Sequelize instance used across all models. * Author: rgrgogu * Date Created: Oct. 6, 2025 *********************************************************************************************************************************************************************** * HOW TO USE: * const sequelize = require('./config/db.config'); * // Then use sequelize.define() or import your models directly. ***********************************************************************************************************************************************************************/ require('dotenv').config(); const { Sequelize } = require('sequelize'); const sequelize = new Sequelize( process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASSWORD, { host: process.env.DB_HOST, port: process.env.DB_PORT || 5432, dialect: 'postgres', dialectOptions: { ssl: { require: true, rejectUnauthorized: false, // or provide CA cert if strict }, }, // logging: process.env.NODE_ENV === 'development' ? console.log : false, logging: false, pool: { max: 10, min: 0, acquire: 30000, idle: 10000, }, } ); module.exports = sequelize;