46 lines
1.2 KiB
JavaScript
Raw Normal View History

'use strict';
2018-09-12 22:21:26 -05:00
// Public node modules
const rimraf = require('rimraf');
module.exports = (scope, success, error) => {
const Mongoose = require('mongoose');
2018-02-02 18:27:03 +01:00
const { username, password, srv } = scope.database.settings;
const { authenticationDatabase, ssl } = scope.database.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;
connectOptions.dbName = scope.database.settings.database;
2018-08-27 14:01:56 +02:00
Mongoose.connect(`mongodb${srv ? '+srv' : ''}://${scope.database.settings.host}${!srv ? `:${scope.database.settings.port}` : ''}/`, connectOptions, function (err) {
if (err) {
2018-06-22 15:25:15 +02:00
console.log('⚠️ Database connection has failed! Make sure your database is running.');
return error();
}
Mongoose.connection.close();
rimraf(scope.tmpPath, (err) => {
if (err) {
console.log(`Error removing connection test folder: ${scope.tmpPath}`);
}
success();
});
});
};