|
|
|
@ -9,8 +9,9 @@ var batch = require('./batch');
|
|
|
|
|
var user = require('./user');
|
|
|
|
|
var utils = require('./utils');
|
|
|
|
|
|
|
|
|
|
(function (events) {
|
|
|
|
|
events.log = function (data, callback) {
|
|
|
|
|
var events = module.exports;
|
|
|
|
|
|
|
|
|
|
events.log = function (data, callback) {
|
|
|
|
|
callback = callback || function () {};
|
|
|
|
|
|
|
|
|
|
async.waterfall([
|
|
|
|
@ -33,9 +34,9 @@ var utils = require('./utils');
|
|
|
|
|
], function (err) {
|
|
|
|
|
callback(err);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
events.getEvents = function (start, stop, callback) {
|
|
|
|
|
events.getEvents = function (start, stop, callback) {
|
|
|
|
|
async.waterfall([
|
|
|
|
|
function (next) {
|
|
|
|
|
db.getSortedSetRevRange('events:time', start, stop, next);
|
|
|
|
@ -72,9 +73,9 @@ var utils = require('./utils');
|
|
|
|
|
next(null, eventsData);
|
|
|
|
|
},
|
|
|
|
|
], callback);
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function addUserData(eventsData, field, objectName, callback) {
|
|
|
|
|
function addUserData(eventsData, field, objectName, callback) {
|
|
|
|
|
var uids = eventsData.map(function (event) {
|
|
|
|
|
return event && event[field];
|
|
|
|
|
}).filter(function (uid, index, array) {
|
|
|
|
@ -85,6 +86,8 @@ var utils = require('./utils');
|
|
|
|
|
return callback(null, eventsData);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async.waterfall([
|
|
|
|
|
function (next) {
|
|
|
|
|
async.parallel({
|
|
|
|
|
isAdmin: function (next) {
|
|
|
|
|
user.isAdministrator(uids, next);
|
|
|
|
@ -92,11 +95,9 @@ var utils = require('./utils');
|
|
|
|
|
userData: function (next) {
|
|
|
|
|
user.getUsersFields(uids, ['username', 'userslug', 'picture'], next);
|
|
|
|
|
},
|
|
|
|
|
}, function (err, results) {
|
|
|
|
|
if (err) {
|
|
|
|
|
return callback(err);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}, next);
|
|
|
|
|
},
|
|
|
|
|
function (results, next) {
|
|
|
|
|
var userData = results.userData;
|
|
|
|
|
|
|
|
|
|
var map = {};
|
|
|
|
@ -110,11 +111,12 @@ var utils = require('./utils');
|
|
|
|
|
event[objectName] = map[event[field]];
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
callback(null, eventsData);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
next(null, eventsData);
|
|
|
|
|
},
|
|
|
|
|
], callback);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
events.deleteEvents = function (eids, callback) {
|
|
|
|
|
events.deleteEvents = function (eids, callback) {
|
|
|
|
|
callback = callback || function () {};
|
|
|
|
|
async.parallel([
|
|
|
|
|
function (next) {
|
|
|
|
@ -127,13 +129,12 @@ var utils = require('./utils');
|
|
|
|
|
db.sortedSetRemove('events:time', eids, next);
|
|
|
|
|
},
|
|
|
|
|
], callback);
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
events.deleteAll = function (callback) {
|
|
|
|
|
events.deleteAll = function (callback) {
|
|
|
|
|
callback = callback || function () {};
|
|
|
|
|
|
|
|
|
|
batch.processSortedSet('events:time', function (eids, next) {
|
|
|
|
|
events.deleteEvents(eids, next);
|
|
|
|
|
}, { alwaysStartAt: 0 }, callback);
|
|
|
|
|
};
|
|
|
|
|
}(module.exports));
|
|
|
|
|
};
|
|
|
|
|