overseer/src/models/index.js
Gregory Ballantine 4a43aaabb6
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
Fixed linter errors
2022-11-04 21:30:31 -04:00

40 lines
926 B
JavaScript

const dbConfig = require('config').get('database');
const Sequelize = require('sequelize');
const sequelize = initDatabase();
const db = {};
db.Sequelize = Sequelize;
db.sequelize = sequelize;
db.items = require('./item.js')(sequelize, Sequelize);
module.exports = db;
/**
* Initializes a sequelize database connection.
*
* @return {object} - sequelize connection
*/
function initDatabase() {
let sequelize = null;
if (dbConfig.get('driver') == 'sqlite') {
sequelize = new Sequelize({
dialect: dbConfig.get('driver'),
storage: dbConfig.get('connection_string'),
});
} else {
const dbName = dbConfig.get('name');
const dbUsername = dbConfig.get('username');
const dbPassword = dbConfig.get('password');
sequelize = new Sequelize(dbName, dbUsername, dbPassword, {
dialect: dbConfig.get('driver'),
host: dbConfig.get('address'),
});
}
return sequelize;
}