making a socket call will set lastonline

This commit is contained in:
Baris Soner Usakli
2014-01-28 16:14:56 -05:00
parent ed401de169
commit 38886f6b58

View File

@@ -55,6 +55,10 @@ Sockets.init = function(server) {
// Validate the session, if present // Validate the session, if present
socketCookieParser(hs, {}, function(err) { socketCookieParser(hs, {}, function(err) {
if(err) {
winston.error(err.message);
}
sessionID = socket.handshake.signedCookies["express.sid"]; sessionID = socket.handshake.signedCookies["express.sid"];
db.sessionStore.get(sessionID, function(err, sessionData) { db.sessionStore.get(sessionID, function(err, sessionData) {
if (!err && sessionData && sessionData.passport && sessionData.passport.user) { if (!err && sessionData && sessionData.passport && sessionData.passport.user) {
@@ -133,6 +137,10 @@ Sockets.init = function(server) {
socket.on('*', function(payload, callback) { socket.on('*', function(payload, callback) {
function callMethod(method) { function callMethod(method) {
if(socket.uid) {
user.setUserField(socket.uid, 'lastonline', Date.now());
}
method.call(null, socket, payload.args.length ? payload.args[0] : null, function(err, result) { method.call(null, socket, payload.args.length ? payload.args[0] : null, function(err, result) {
if (callback) { if (callback) {
callback(err?{message:err.message}:null, result); callback(err?{message:err.message}:null, result);