const fs = require('fs') import * as config from 'config' const ilog = require('ilog') import * as mongoose from 'mongoose' const dbUrl: string = config.MONGODB.URL function getMongoConnectionOptions() { const options: mongoose.ConnectionOptions = {} if (config.MONGODB.USE_CERT) { (options as any).sslValidate = false options.ssl = true options.checkServerIdentity = false options.sslKey = fs.readFileSync(config.MONGODB.CLIENT_KEY_PATH) options.sslCert = fs.readFileSync(config.MONGODB.CLIENT_CRT_PATH) options.sslCA = [fs.readFileSync(config.MONGODB.CA_PATH)] } return options } const dbConn = mongoose.createConnection(dbUrl, getMongoConnectionOptions()) dbConn.on('error', (err) => { ilog.error(err) throw err }) dbConn.on('reconnectFailed', () => { throw new Error('mongoose reconnect failed') }) export default dbConn