parent
46a80badc7
commit
b3e1a40398
5 changed files with 118 additions and 68 deletions
|
@ -4,6 +4,7 @@ var redis = require("redis"),
|
|||
redisClient = null; //redis.createClient();
|
||||
|
||||
var async = require("async");
|
||||
var sets = require('simplesets');
|
||||
|
||||
// If you want Memory Store instead...
|
||||
// var MemoryStore = require('connect/middleware/session/memory');
|
||||
|
@ -14,16 +15,16 @@ var REDIS_PREFIX = '#scrumblr#';
|
|||
//For Redis Debugging
|
||||
|
||||
|
||||
var db = function(callback) {
|
||||
var db = function(callback) {
|
||||
redisClient = redis.createClient();
|
||||
redisClient.on("connect", function (err) {
|
||||
callback();
|
||||
});
|
||||
|
||||
|
||||
redisClient.on("error", function (err) {
|
||||
console.log("Redis error: " + err);
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
db.prototype = {
|
||||
|
@ -48,7 +49,7 @@ db.prototype = {
|
|||
|
||||
// Column commands
|
||||
createColumn: function(room, name, callback) {
|
||||
redisClient.rpush(REDIS_PREFIX + '-room:' + room + '-columns', name,
|
||||
redisClient.rpush(REDIS_PREFIX + '-room:' + room + '-columns', name,
|
||||
function (err, res) {
|
||||
if (typeof callback != "undefined" && callback !== null) callback();
|
||||
}
|
||||
|
@ -72,8 +73,8 @@ db.prototype = {
|
|||
async.forEachSeries(
|
||||
columns,
|
||||
function( item, callback ) {
|
||||
//console.log('rpush: ' + REDIS_PREFIX + '-room:' + room + '-columns' + ' -- ' + item);
|
||||
redisClient.rpush(REDIS_PREFIX + '-room:' + room + '-columns', item,
|
||||
//console.log('rpush: ' + REDIS_PREFIX + '-room:' + room + '-columns' + ' -- ' + item);
|
||||
redisClient.rpush(REDIS_PREFIX + '-room:' + room + '-columns', item,
|
||||
function (err, res) {
|
||||
callback();
|
||||
}
|
||||
|
@ -98,14 +99,14 @@ db.prototype = {
|
|||
|
||||
getAllCards: function(room, callback) {
|
||||
redisClient.hgetall(REDIS_PREFIX + '-room:' + room + '-cards', function (err, res) {
|
||||
|
||||
|
||||
var cards = [];
|
||||
|
||||
|
||||
for (i in res) {
|
||||
cards.push( JSON.parse(res[i]) );
|
||||
}
|
||||
//console.dir(cards);
|
||||
|
||||
|
||||
callback(cards);
|
||||
});
|
||||
},
|
||||
|
@ -142,21 +143,39 @@ db.prototype = {
|
|||
redisClient.hget(REDIS_PREFIX + '-room:' + room + '-cards', cardId, function(err, res) {
|
||||
var card = JSON.parse(res);
|
||||
if (card !== null) {
|
||||
card.sticker = stickerId;
|
||||
redisClient.hset(REDIS_PREFIX + '-room:' + room + '-cards', cardId, JSON.stringify(card));
|
||||
if (stickerId === "nosticker")
|
||||
{
|
||||
card.sticker = null;
|
||||
|
||||
redisClient.hset(REDIS_PREFIX + '-room:' + room + '-cards', cardId, JSON.stringify(card));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (card.sticker !== null)
|
||||
stickerSet = new sets.Set( card.sticker );
|
||||
else
|
||||
stickerSet = new sets.Set();
|
||||
|
||||
stickerSet.add(stickerId);
|
||||
|
||||
card.sticker = stickerSet.array();
|
||||
|
||||
redisClient.hset(REDIS_PREFIX + '-room:' + room + '-cards', cardId, JSON.stringify(card));
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
setBoardSize: function(room, size) {
|
||||
redisClient.set(REDIS_PREFIX + '-room:' + room + '-size', JSON.stringify(size));
|
||||
},
|
||||
|
||||
|
||||
getBoardSize: function(room, callback) {
|
||||
redisClient.get(REDIS_PREFIX + '-room:' + room + '-size', function (err, res) {
|
||||
callback(JSON.parse(res));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
exports.db = db;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue