42 lines
927 B
JavaScript
Raw Normal View History

'use strict';
2019-06-20 15:45:14 +02:00
module.exports = async ({ connection }) => {
const Mongoose = require('mongoose');
2018-02-02 18:27:03 +01:00
2019-06-20 15:45:14 +02:00
const { username, password, srv } = connection.settings;
const { authenticationDatabase, ssl } = connection.options;
const connectOptions = {};
if (username) {
connectOptions.user = username;
if (password) {
connectOptions.pass = password;
}
}
2018-03-08 15:51:03 +01:00
if (authenticationDatabase) {
connectOptions.authSource = authenticationDatabase;
}
connectOptions.ssl = ssl ? true : false;
connectOptions.useNewUrlParser = true;
2019-06-20 15:45:14 +02:00
connectOptions.dbName = connection.settings.database;
return Mongoose.connect(
`mongodb${srv ? '+srv' : ''}://${connection.settings.host}${
!srv ? `:${connection.settings.port}` : ''
}/`,
connectOptions
).then(
() => {
Mongoose.connection.close();
},
error => {
Mongoose.connection.close();
throw error;
}
2019-06-20 15:45:14 +02:00
);
};