diff --git a/src/database/level.js b/src/database/level.js index 1ff95df15c..5d415bcd1d 100644 --- a/src/database/level.js +++ b/src/database/level.js @@ -38,14 +38,14 @@ winston.error('Unable to initialize Level DB! Is Level DB installed? Error :' + err.message); process.exit(); } - + if (db) { if(typeof callback === 'function') { callback(); } return; - } + } db = levelup(nconf.get('level:database'), { valueEncoding: 'json' @@ -77,6 +77,10 @@ } }; + module.close = function(callback) { + db.close(callback); + }; + var helpers = {}; helpers.iterator = function(fn, keys, value, callback) { diff --git a/src/database/level/main.js b/src/database/level/main.js index 1365770e49..9f4736de44 100644 --- a/src/database/level/main.js +++ b/src/database/level/main.js @@ -5,10 +5,6 @@ var nconf = require('nconf'), module.exports = function(db, module) { var helpers = module.helpers.level; - - module.close = function(callback) { - db.close(callback); - }; module.searchIndex = function(key, content, id) { // o.O diff --git a/src/database/mongo.js b/src/database/mongo.js index 508ce72c7b..ccc593dcc0 100644 --- a/src/database/mongo.js +++ b/src/database/mongo.js @@ -45,7 +45,7 @@ winston.error('Unable to initialize MongoDB! Is MongoDB installed? Error :' + err.message); process.exit(); } - + mongoClient.connect('mongodb://'+ nconf.get('mongo:host') + ':' + nconf.get('mongo:port') + '/' + nconf.get('mongo:database'), function(err, _db) { if(err) { winston.error("NodeBB could not connect to your Mongo database. Mongo returned the following error: " + err.message); @@ -105,6 +105,11 @@ }); }; + module.close = function() { + db.close(); + }; + + var helpers = {}; helpers.findItem = function(data, key) { if(!data) { diff --git a/src/database/mongo/main.js b/src/database/mongo/main.js index 203c26af26..1d3d13d388 100644 --- a/src/database/mongo/main.js +++ b/src/database/mongo/main.js @@ -4,10 +4,7 @@ var winston = require('winston'); module.exports = function(db, module) { var helpers = module.helpers.mongo; - - module.close = function() { - db.close(); - }; + module.searchIndex = function(key, content, id) { var data = { diff --git a/src/database/redis.js b/src/database/redis.js index 06a354307a..6699b9f4d2 100644 --- a/src/database/redis.js +++ b/src/database/redis.js @@ -101,5 +101,10 @@ callback(); } }; + + module.close = function() { + redisClient.quit(); + }; + }(exports)); diff --git a/src/database/redis/main.js b/src/database/redis/main.js index f53ce06923..4e7ec1a5f4 100644 --- a/src/database/redis/main.js +++ b/src/database/redis/main.js @@ -1,10 +1,6 @@ "use strict"; module.exports = function(redisClient, module) { - module.close = function() { - redisClient.quit(); - }; - module.searchIndex = function(key, content, id) { if (key === 'post') { module.postSearch.index(content, id);