From 08f7b64ccfe7fe29fd2fce320300c96df80cdb79 Mon Sep 17 00:00:00 2001 From: Baris Soner Usakli Date: Sun, 5 May 2013 17:38:08 -0400 Subject: [PATCH] hash changes to user data --- public/templates/footer.tpl | 7 +- src/redis.js | 2 + src/user.js | 238 +++++++++++++++++++----------------- src/webserver.js | 18 +++ src/websockets.js | 19 ++- 5 files changed, 165 insertions(+), 119 deletions(-) diff --git a/public/templates/footer.tpl b/public/templates/footer.tpl index f3719254f7..d2aeec4081 100644 --- a/public/templates/footer.tpl +++ b/public/templates/footer.tpl @@ -43,8 +43,11 @@ socket.on('api:user.active.get_record', function(data) { active_record.innerHTML = "most users ever online was " + data.record + " on " + (new Date(parseInt(data.timestamp,10))).toUTCString() + ""; }); - socket.emit('api:user.get', { fields: ['username', 'picture'] }); - socket.once('api:user.get', function(data) { + + socket.emit('api:updateHeader', { fields: ['username', 'picture'] }); + + socket.once('api:updateHeader', function(data) { + if (data.uid > 0) { var gravatar = document.createElement('img'), name = document.createElement('span') diff --git a/src/redis.js b/src/redis.js index eb1891fc13..140e2e11d6 100644 --- a/src/redis.js +++ b/src/redis.js @@ -6,6 +6,8 @@ config = require('../config.js'), db = redis.createClient(config.redis.port, config.redis.host, config.redis.options); + RedisDB.db = db; + // todo (holy cow): append,auth,bgrewriteaof,bgsave,bitcount,bitop,blpop,brpop,brpoplpush,client kill,client list,client getname,client setname,config get,config set,config resetstat,dbsize,debug object,debug segfault,decrby,discard,dump,echo,eval,evalsha,exec,exists,expireat,flushall,flushdb,getbit,getrange,getset,hdel,hexists,hget,hgetall,hincrby,hincrbyfloat,hkeys,hlen,hmget,hmset,hset,hsetnx,hvals,incrby,incrbyfloat,info,lastsave,lindex,linsert,llen,lpop,lpushx,lrem,lset,ltrim,migrate,monitor,move,mset,msetnx,object,persist,pexpire,pexpireat,ping,psetex,psubscribe,pttl,publish,punsubscribe,quit,randomkey,rename,renamenx,restore,rpop,rpoplpush,rpush,rpushx,sadd,save,scard,script exists,script flush,script kill,script load,sdiff,sdiffstore,select,setbit,setex,setnx,setrange,shutdown,sinter,sinterstore,sismember,slaveof,slowlog,smembers,smove,sort,spop,srandmember,srem,strlen,subscribe,sunion,sunionstore,sync,time,ttl,type,unsubscribe,unwatch,watch,zadd,zcard,zcount,zincrby,zinterstore,zrange,zrangebyscore,zrank,zrem,zremrangebyrank,zremrangebyscore,zrevrange,zrevrangebyscore,zrevrank,zscore,zunionstore // done: get, set, incr, decr, del, mget, multi, expire, lpush, lrange, keys diff --git a/src/user.js b/src/user.js index fd979933ae..bfb34b6e7b 100644 --- a/src/user.js +++ b/src/user.js @@ -8,76 +8,40 @@ var config = require('../config.js'), (function(User) { - User.get = function(socket, uid, fields) { - if (uid > 0) { - var keys = [], - returnData = { - uid: uid - }, - removeEmail = false; - if (!(fields instanceof Array)) - fields = ['username', 'email', 'joindate']; - - if (fields.indexOf('picture') !== -1 && fields.indexOf('email') === -1) { - fields.push('email'); - removeEmail = true; - } - - for(var f = 0, numFields = fields.length; f