fenixenbot.js
Version:
Libreria Creacion De Bots De Discord
51 lines (44 loc) • 1.74 kB
JavaScript
// src/libs/SequelizeConnect.js
const { Sequelize } = require('sequelize');
const Color = require('../Utils/Color');
let sequelizeInstance;
async function SequelizeConnect(config) {
if (sequelizeInstance) {
console.log(Color.yellow, 'Ya existe una conexión Sequelize activa.', Color.reset);
return sequelizeInstance;
}
return new Promise(async (resolve, reject) => {
const { database, username, password, host, dialect, port, ...sequelizeOptions } = config;
if (!database || !username || !password || !host || !dialect) {
console.error(
Color.red,
"Error: Configuración incompleta para Sequelize.",
Color.reset
);
reject(new Error("Configuración Sequelize incompleta"));
return;
}
try {
sequelizeInstance = new Sequelize(database, username, password, {
host: host,
dialect: dialect,
port: port || undefined,
...sequelizeOptions,
dialectOptions: {
ssl: {
require: true,
rejectUnauthorized: false,
},
},
logging: false,
});
await sequelizeInstance.authenticate();
console.log(Color.cyan, 'Conexión a Sequelize establecida.', Color.reset);
resolve(sequelizeInstance);
} catch (error) {
console.error(Color.red, 'Error al conectar con Sequelize:', Color.reset, error);
reject(error);
}
});
}
module.exports = SequelizeConnect;