diff --git a/lib/site-platform.js b/lib/site-platform.js index 3b390d0..51177a9 100644 --- a/lib/site-platform.js +++ b/lib/site-platform.js @@ -34,12 +34,22 @@ module.connectDatabase = async (/*dtp*/) => { host: process.env.MONGODB_HOST, database: process.env.MONGODB_DATABASE, }); - const mongoConnectUri = `mongodb://${process.env.MONGODB_HOST}/${process.env.MONGODB_DATABASE}`; + const mongoConnectionInfo = { + host: process.env.MONGODB_HOST, + db: process.env.MONGODB_DATABASE, + username: encodeURIComponent(process.env.MONGODB_USERNAME), + password: encodeURIComponent(process.env.MONGODB_PASSWORD), + options: process.env.MONGODB_OPTIONS || '', + }; + let mongoConnectUri = `mongodb://${process.env.MONGODB_HOST}/${process.env.MONGODB_DATABASE}`; + if (process.env.NODE_ENV === 'production'){ + mongoConnectUri = `mongodb://${mongoConnectionInfo.username}:${mongoConnectionInfo.password}@${mongoConnectionInfo.host}/${mongoConnectionInfo.options}`; + } module.db = await mongoose.connect(mongoConnectUri, { socketTimeoutMS: 0, keepAlive: true, keepAliveInitialDelay: 300000, - dbName: process.env.MONGODB_DATABASE, + dbName: mongoConnectionInfo.db, }); module.log.info('connected to MongoDB'); } catch (error) {