UNPKG

ffc-pay-etl-framework

Version:

A framework for creating ETL pipelines in node

48 lines (43 loc) 1.13 kB
const DEFAULT_PORT = 5432 const { Sequelize } = require('sequelize') const debug = require('debug')('connection') /** * * @param {Object} options * @param {Object} options.connectionname * @param {Object} options.username * @param {Object} options.password * @param {Object} options.database * @param {Object} options.host * @param {Object} options.port * @returns Connection */ async function postgresDatabaseConnection (options) { const connectionname = options.connectionname const username = options.username const password = options.password const database = options.database const host = options.host const port = options.port || DEFAULT_PORT const sequelize = new Sequelize(database, username, password, { host, port, dialect: 'postgres', logging: false }) try { await sequelize.authenticate() debug('sequelize.authenticate succeeded') return { name: connectionname, db: sequelize } } catch (e) { debug('sequelize.authenticate failed') debug(e) throw e } } module.exports = { PostgresDatabaseConnection: postgresDatabaseConnection }