changes bookmark storage to sortedset, gets uid from socket rather than being passed from client

v1.18.x
bdharrington7 10 years ago
parent c0ec6faed3
commit 25203ee67e

@ -203,12 +203,11 @@ define('forum/topic', [
if (!currentBookmark || parseInt(postIndex, 10) > parseInt(currentBookmark, 10)) {
if (app.user.uid) {
var data = {
'tid': ajaxify.data.tid,
'uid': app.user.uid,
'postIndex': postIndex
}
socket.emit('topics.bookmark', data, function(err) {
var payload = {
'tid': ajaxify.data.tid,
'index': postIndex
};
socket.emit('topics.bookmark', payload, function(err) {
if (err) {
console.warn('Error saving bookmark:', err);
}

@ -96,10 +96,9 @@ SocketTopics.postcount = function(socket, tid, callback) {
topics.getTopicField(tid, 'postcount', callback);
};
SocketTopics.bookmark = function(socket, data, callback) {
// data contains tid, uid, and postIndex
topics.setUserBookmark(data, callback);
}
SocketTopics.bookmark = function(socket, payload, callback) {
topics.setUserBookmark(payload.tid, socket.uid, payload.index, callback);
};
SocketTopics.markAsRead = function(socket, tids, callback) {
if(!Array.isArray(tids) || !socket.uid) {

@ -330,11 +330,11 @@ var async = require('async'),
}
Topics.getUserBookmark = function (tid, uid, callback) {
db.getObjectField('topic:' + tid + ':bookmarks', uid, callback);
db.sortedSetScore('topic:' + tid + ':bookmarks', uid, callback);
};
Topics.setUserBookmark = function(data, callback) {
db.setObjectField('topic:' + data.tid + ':bookmarks', data.uid, data.postIndex, callback);
Topics.setUserBookmark = function(tid, uid, index, callback) {
db.sortedSetAdd('topic:' + tid + ':bookmarks', index, uid, callback);
};
Topics.getTopicField = function(tid, field, callback) {

Loading…
Cancel
Save