|
|
|
@ -88,37 +88,37 @@ module.exports = function (SocketTopics) {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
SocketTopics.loadMoreUnreadTopics = function (socket, data, callback) {
|
|
|
|
|
if (!data || !utils.isNumber(data.after) || parseInt(data.after, 10) < 0) {
|
|
|
|
|
return callback(new Error('[[error:invalid-data]]'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var start = parseInt(data.after, 10);
|
|
|
|
|
var stop = start + Math.max(0, Math.min(meta.config.topicsPerPage || 20, parseInt(data.count, 10) || meta.config.topicsPerPage || 20) - 1);
|
|
|
|
|
|
|
|
|
|
topics.getUnreadTopics({ cid: data.cid, uid: socket.uid, start: start, stop: stop, filter: data.filter }, callback);
|
|
|
|
|
loadData(data, callback, function (start, stop) {
|
|
|
|
|
topics.getUnreadTopics({ cid: data.cid, uid: socket.uid, start: start, stop: stop, filter: data.filter }, callback);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
SocketTopics.loadMoreRecentTopics = function (socket, data, callback) {
|
|
|
|
|
if (!data || !utils.isNumber(data.after) || parseInt(data.after, 10) < 0) {
|
|
|
|
|
return callback(new Error('[[error:invalid-data]]'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var start = parseInt(data.after, 10);
|
|
|
|
|
var stop = start + Math.max(0, Math.min(meta.config.topicsPerPage || 20, parseInt(data.count, 10) || meta.config.topicsPerPage || 20) - 1);
|
|
|
|
|
loadData(data, callback, function (start, stop) {
|
|
|
|
|
topics.getRecentTopics(data.cid, socket.uid, start, stop, data.filter, callback);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
topics.getRecentTopics(data.cid, socket.uid, start, stop, data.filter, callback);
|
|
|
|
|
SocketTopics.loadMorePopularTopics = function (socket, data, callback) {
|
|
|
|
|
loadData(data, callback, function (start, stop) {
|
|
|
|
|
topics.getPopularTopics(data.term, socket.uid, start, stop, callback);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
SocketTopics.loadMoreTopTopics = function (socket, data, callback) {
|
|
|
|
|
loadData(data, callback, function (start, stop) {
|
|
|
|
|
topics.getTopTopics(data.cid, socket.uid, start, stop, data.filter, callback);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function loadData(data, callback, loadFn) {
|
|
|
|
|
if (!data || !utils.isNumber(data.after) || parseInt(data.after, 10) < 0) {
|
|
|
|
|
return callback(new Error('[[error:invalid-data]]'));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var start = parseInt(data.after, 10);
|
|
|
|
|
var stop = start + Math.max(0, Math.min(meta.config.topicsPerPage || 20, parseInt(data.count, 10) || meta.config.topicsPerPage || 20) - 1);
|
|
|
|
|
|
|
|
|
|
topics.getTopTopics(data.cid, socket.uid, start, stop, data.filter, callback);
|
|
|
|
|
};
|
|
|
|
|
loadFn(start, stop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SocketTopics.loadMoreFromSet = function (socket, data, callback) {
|
|
|
|
|
if (!data || !utils.isNumber(data.after) || parseInt(data.after, 10) < 0 || !data.set) {
|
|
|
|
|