denim-monk-db-factory
Version:
Helps to standardize our Monk DB configuration across projects
34 lines (29 loc) • 801 B
JavaScript
import monk from 'monk'
import chalk from 'chalk'
import fs from 'fs'
const getMonkDb = (dbOptions = {}) => {
const url = dbOptions.url
delete dbOptions.url
return monk(url, dbOptions, (err, db) => {
// console.dir(db)
console.log(chalk.blue('[Denim Monk] Connected to MongoDB'))
console.log(chalk.blue('[Monk Options]'))
if (dbOptions.sslValidate) {
console.log(chalk.green('[Denim Monk] Using SSL'))
}
if (err) {
console.log(chalk.red(err))
throw err
}
return db
})
}
const makeDbOptions = dbConfig => {
const dbOptions = { url: dbConfig.URL, sslValidate: false }
if (dbConfig.SSL) {
dbOptions.sslCA = [fs.readFileSync(dbConfig.CERT)]
dbOptions.sslValidate = true
}
return dbOptions
}
export { getMonkDb, makeDbOptions }