From 95efb2ae5e23bde3b0f4c3ef81f1b93883f165c8 Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Mon, 2 Dec 2013 15:45:15 -0500 Subject: [PATCH] started dbal --- src/database.js | 6 ++++ src/database/mongo.js | 0 src/database/redis.js | 5 +++ src/redis.js | 78 ------------------------------------------- 4 files changed, 11 insertions(+), 78 deletions(-) create mode 100644 src/database.js create mode 100644 src/database/mongo.js create mode 100644 src/database/redis.js delete mode 100644 src/redis.js diff --git a/src/database.js b/src/database.js new file mode 100644 index 0000000000..7a9fdf943d --- /dev/null +++ b/src/database.js @@ -0,0 +1,6 @@ + + +var nconf = require('nconf'); + db = require('./databases/' + nconf.get('database')); + +module.exports = db; \ No newline at end of file diff --git a/src/database/mongo.js b/src/database/mongo.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/database/redis.js b/src/database/redis.js new file mode 100644 index 0000000000..9eb3347163 --- /dev/null +++ b/src/database/redis.js @@ -0,0 +1,5 @@ +var RDB = require('redis'); + + + +(function() \ No newline at end of file diff --git a/src/redis.js b/src/redis.js deleted file mode 100644 index d55bd57dd5..0000000000 --- a/src/redis.js +++ /dev/null @@ -1,78 +0,0 @@ -(function(module) { - 'use strict'; - - var RedisDB, - redis = require('redis'), - utils = require('./../public/src/utils.js'), - winston = require('winston'), - nconf = require('nconf'), - redis_socket_or_host = nconf.get('redis:host'); - - if (redis_socket_or_host && redis_socket_or_host.indexOf('/')>=0) { - /* If redis.host contains a path name character, use the unix dom sock connection. ie, /tmp/redis.sock */ - RedisDB = redis.createClient(nconf.get('redis:host')); - } else { - /* Else, connect over tcp/ip */ - RedisDB = redis.createClient(nconf.get('redis:port'), nconf.get('redis:host')); - } - - if (nconf.get('redis:password')) { - RedisDB.auth(nconf.get('redis:password')); - } - - var db = parseInt(nconf.get('redis:database'), 10); - if (db){ - RedisDB.select(db, function(error){ - if(error !== null){ - winston.error("NodeBB could not connect to your Redis database. Redis returned the following error: " + error.message); - process.exit(); - } - }); - } - - RedisDB.handle = function(error) { - if (error !== null) { - winston.err(error); - if (global.env !== 'production') { - throw new Error(error); - } - } - }; - - - /* - * A possibly more efficient way of doing multiple sismember calls - */ - RedisDB.sismembers = function(key, needles, callback) { - var tempkey = key + ':temp:' + utils.generateUUID(); - RedisDB.sadd(tempkey, needles, function() { - RedisDB.sinter(key, tempkey, function(err, data) { - RedisDB.del(tempkey); - callback(err, data); - }); - }); - }; - - /* - * gets fields of a hash as an object instead of an array - */ - RedisDB.hmgetObject = function(key, fields, callback) { - RedisDB.hmget(key, fields, function(err, data) { - - if(err) { - return callback(err, null); - } - - var returnData = {}; - - for (var i = 0, ii = fields.length; i < ii; ++i) { - returnData[fields[i]] = data[i]; - } - - callback(null, returnData); - }); - }; - - module.exports = RedisDB; - -}(module)); \ No newline at end of file