From 296d5127c9465ceb2e8f52632a3847d948dad7df Mon Sep 17 00:00:00 2001 From: barisusakli Date: Wed, 9 Apr 2014 16:51:10 -0400 Subject: [PATCH] update to use error messages --- public/language/en_GB/error.json | 1 + src/socket.io/topics.js | 79 +++++++++++++------------------- 2 files changed, 34 insertions(+), 46 deletions(-) diff --git a/public/language/en_GB/error.json b/public/language/en_GB/error.json index d865fabd76..dcab1f9288 100644 --- a/public/language/en_GB/error.json +++ b/public/language/en_GB/error.json @@ -4,6 +4,7 @@ "not-logged-in": "You don't seem to be logged in.", "invalid-cid": "Invalid Category ID", + "invalid-tid": "Invalid Topic ID", "no-category": "Category doesn't exist", "no-topic": "Topic doesn't exist", diff --git a/src/socket.io/topics.js b/src/socket.io/topics.js index 55be086348..1736a7c7ab 100644 --- a/src/socket.io/topics.js +++ b/src/socket.io/topics.js @@ -65,7 +65,7 @@ SocketTopics.markAsRead = function(socket, data) { SocketTopics.markTidsRead = function(socket, tids, callback) { if (!Array.isArray(tids)) { - return callback(new Error('invalid-data')); + return callback(new Error('[[error:invalid-data]]')); } topics.markTidsRead(socket.uid, tids, function(err) { @@ -125,6 +125,7 @@ SocketTopics.markAsUnreadForAll = function(socket, tid, callback) { if(err) { return callback(err); } + db.sortedSetAdd('topics:recent', Date.now(), tid, function(err) { if(err) { return callback(err); @@ -135,26 +136,6 @@ SocketTopics.markAsUnreadForAll = function(socket, tid, callback) { }); }; -function doTopicAction(action, socket, tid, callback) { - if(!tid) { - return callback(new Error('Invalid tid')); - } - - threadTools.privileges(tid, socket.uid, function(err, privileges) { - if(err) { - return callback(err); - } - - if(!privileges || !privileges.editable) { - return callback(new Error('not-allowed')); - } - - if(threadTools[action]) { - threadTools[action](tid, socket.uid, callback); - } - }); -} - SocketTopics.delete = function(socket, tid, callback) { doTopicAction('delete', socket, tid, callback); }; @@ -179,19 +160,33 @@ SocketTopics.unpin = function(socket, tid, callback) { doTopicAction('unpin', socket, tid, callback); }; +function doTopicAction(action, socket, tid, callback) { + if(!tid) { + return callback(new Error('[[error:invalid-tid]]')); + } + + threadTools.privileges(tid, socket.uid, function(err, privileges) { + if(err) { + return callback(err); + } + + if(!privileges || !privileges.editable) { + return callback(new Error('[[error:no-privileges]]')); + } + + if(threadTools[action]) { + threadTools[action](tid, socket.uid, callback); + } + }); +} + SocketTopics.createTopicFromPosts = function(socket, data, callback) { if(!socket.uid) { - socket.emit('event:alert', { - title: 'Can't fork', - message: 'Guests can't fork topics!', - type: 'warning', - timeout: 2000 - }); - return; + return callback(new Error('[[error:not-logged-in]]')); } if(!data || !data.title || !data.pids || !Array.isArray(data.pids)) { - return callback(new Error('invalid data')); + return callback(new Error('[[error:invalid-data]]')); } topics.createTopicFromPosts(socket.uid, data.title, data.pids, callback); @@ -199,17 +194,11 @@ SocketTopics.createTopicFromPosts = function(socket, data, callback) { SocketTopics.movePost = function(socket, data, callback) { if(!socket.uid) { - socket.emit('event:alert', { - title: 'Can't fork', - message: 'Guests can't fork topics!', - type: 'warning', - timeout: 2000 - }); - return; + return callback(new Error('[[error:not-logged-in]]')); } if(!data || !data.pid || !data.tid) { - return callback(new Error('invalid data')); + return callback(new Error('[[error:invalid-data]]')); } threadTools.privileges(data.tid, socket.uid, function(err, privileges) { @@ -218,7 +207,7 @@ SocketTopics.movePost = function(socket, data, callback) { } if(!(privileges.admin || privileges.moderator)) { - return callback(new Error('not allowed')); + return callback(new Error('[[error:no-privileges]]')); } topics.movePostToTopic(data.pid, data.tid, callback); @@ -226,9 +215,8 @@ SocketTopics.movePost = function(socket, data, callback) { }; SocketTopics.move = function(socket, data, callback) { - if(!data || !data.tid || !data.cid) { - return callback(new Error('invalid data')); + return callback(new Error('[[error:invalid-data]]')); } threadTools.move(data.tid, data.cid, function(err) { @@ -250,16 +238,15 @@ SocketTopics.followCheck = function(socket, tid, callback) { SocketTopics.follow = function(socket, tid, callback) { if(!socket.uid) { - return callback(new Error('not-logged-in')); + return callback(new Error('[[error:not-logged-in]]')); } - threadTools.toggleFollow(tid, socket.uid, callback); }; SocketTopics.loadMore = function(socket, data, callback) { if(!data || !data.tid || !(parseInt(data.after, 10) >= 0)) { - return callback(new Error('invalid data')); + return callback(new Error('[[error:invalid-data]]')); } user.getSettings(socket.uid, function(err, settings) { @@ -283,7 +270,7 @@ SocketTopics.loadMore = function(socket, data, callback) { SocketTopics.loadMoreRecentTopics = function(socket, data, callback) { if(!data || !data.term || !data.after) { - return callback(new Error('invalid data')); + return callback(new Error('[[error:invalid-data]]')); } var start = parseInt(data.after, 10), @@ -294,7 +281,7 @@ SocketTopics.loadMoreRecentTopics = function(socket, data, callback) { SocketTopics.loadMoreUnreadTopics = function(socket, data, callback) { if(!data || !data.after) { - return callback(new Error('invalid data')); + return callback(new Error('[[error:invalid-data]]')); } var start = parseInt(data.after, 10), @@ -305,7 +292,7 @@ SocketTopics.loadMoreUnreadTopics = function(socket, data, callback) { SocketTopics.loadMoreFromSet = function(socket, data, callback) { if(!data || !data.after || !data.set) { - return callback(new Error('invalid data')); + return callback(new Error('[[error:invalid-data]]')); } var start = parseInt(data.after, 10),