From e17c4b2766d2080ee84e82564813a984fd776c38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Sat, 17 Nov 2018 22:31:39 -0500 Subject: [PATCH] uid fixes --- src/groups/membership.js | 4 ++-- src/groups/ownership.js | 6 +++--- src/messaging/create.js | 8 ++------ src/messaging/index.js | 4 ++-- src/middleware/user.js | 2 +- src/posts/user.js | 14 ++++++-------- src/posts/votes.js | 2 +- src/routes/feeds.js | 2 +- src/socket.io/modules.js | 2 +- src/socket.io/topics/unread.js | 8 ++++---- src/socket.io/user/status.js | 2 +- src/topics/unread.js | 2 +- src/topics/user.js | 6 +++--- src/user/categories.js | 6 +++--- src/user/data.js | 2 +- src/user/profile.js | 2 +- 16 files changed, 33 insertions(+), 39 deletions(-) diff --git a/src/groups/membership.js b/src/groups/membership.js index 9d76e1dc7b..9631bb4a6a 100644 --- a/src/groups/membership.js +++ b/src/groups/membership.js @@ -352,14 +352,14 @@ module.exports = function (Groups) { }; Groups.isInvited = function (uid, groupName, callback) { - if (!uid) { + if (uid <= 0) { return setImmediate(callback, null, false); } db.isSetMember('group:' + groupName + ':invited', uid, callback); }; Groups.isPending = function (uid, groupName, callback) { - if (!uid) { + if (uid <= 0) { return setImmediate(callback, null, false); } db.isSetMember('group:' + groupName + ':pending', uid, callback); diff --git a/src/groups/ownership.js b/src/groups/ownership.js index e2a82d3f93..45eb7c3383 100644 --- a/src/groups/ownership.js +++ b/src/groups/ownership.js @@ -8,15 +8,15 @@ module.exports = function (Groups) { Groups.ownership = {}; Groups.ownership.isOwner = function (uid, groupName, callback) { - if (!uid) { - return callback(null, false); + if (uid <= 0) { + return setImmediate(callback, null, false); } db.isSetMember('group:' + groupName + ':owners', uid, callback); }; Groups.ownership.isOwners = function (uids, groupName, callback) { if (!Array.isArray(uids)) { - return callback(null, []); + return setImmediate(callback, null, []); } db.isSetMembers('group:' + groupName + ':owners', uids, callback); diff --git a/src/messaging/create.js b/src/messaging/create.js index c173528c65..19f2e69128 100644 --- a/src/messaging/create.js +++ b/src/messaging/create.js @@ -116,9 +116,7 @@ module.exports = function (Messaging) { if (!uids.length) { return callback(); } - var keys = uids.map(function (uid) { - return 'uid:' + uid + ':chat:rooms'; - }); + const keys = uids.map(uid => 'uid:' + uid + ':chat:rooms'); db.sortedSetsAdd(keys, timestamp, roomId, callback); }; @@ -126,9 +124,7 @@ module.exports = function (Messaging) { if (!uids.length) { return callback(); } - var keys = uids.map(function (uid) { - return 'uid:' + uid + ':chat:room:' + roomId + ':mids'; - }); + const keys = uids.map(uid => 'uid:' + uid + ':chat:room:' + roomId + ':mids'); db.sortedSetsAdd(keys, timestamp, mid, callback); }; }; diff --git a/src/messaging/index.js b/src/messaging/index.js index 7f9d633f28..53416f28e9 100644 --- a/src/messaging/index.js +++ b/src/messaging/index.js @@ -249,7 +249,7 @@ Messaging.getTeaser = function (uid, roomId, callback) { }; Messaging.canMessageUser = function (uid, toUid, callback) { - if (meta.config.disableChat || !uid || uid === toUid) { + if (meta.config.disableChat || uid <= 0 || uid === toUid) { return callback(new Error('[[error:chat-disabled]]')); } @@ -299,7 +299,7 @@ Messaging.canMessageUser = function (uid, toUid, callback) { }; Messaging.canMessageRoom = function (uid, roomId, callback) { - if (meta.config.disableChat || !uid) { + if (meta.config.disableChat || uid <= 0) { return callback(new Error('[[error:chat-disabled]]')); } diff --git a/src/middleware/user.js b/src/middleware/user.js index 5add292278..c6a351675f 100644 --- a/src/middleware/user.js +++ b/src/middleware/user.js @@ -135,7 +135,7 @@ module.exports = function (middleware) { middleware.redirectUidToUserslug = function (req, res, next) { var uid = parseInt(req.params.uid, 10); - if (!uid) { + if (uid <= 0) { return next(); } async.waterfall([ diff --git a/src/posts/user.js b/src/posts/user.js index 4e4edadbd9..f085400967 100644 --- a/src/posts/user.js +++ b/src/posts/user.js @@ -121,24 +121,22 @@ module.exports = function (Posts) { Posts.isOwner = function (pid, uid, callback) { uid = parseInt(uid, 10); if (Array.isArray(pid)) { - if (!uid) { - return callback(null, pid.map(function () { return false; })); + if (uid <= 0) { + return setImmediate(callback, null, pid.map(() => false)); } Posts.getPostsFields(pid, ['uid'], function (err, posts) { if (err) { return callback(err); } - posts = posts.map(function (post) { - return post && parseInt(post.uid, 10) === uid; - }); + posts = posts.map(post => post && post.uid === uid); callback(null, posts); }); } else { - if (!uid) { - return callback(null, false); + if (uid <= 0) { + return setImmediate(callback, null, false); } Posts.getPostField(pid, 'uid', function (err, author) { - callback(err, parseInt(author, 10) === uid); + callback(err, author === uid); }); } }; diff --git a/src/posts/votes.js b/src/posts/votes.js index f1352676c0..17e046fd8d 100644 --- a/src/posts/votes.js +++ b/src/posts/votes.js @@ -217,7 +217,7 @@ module.exports = function (Posts) { function vote(type, unvote, pid, uid, callback) { uid = parseInt(uid, 10); - if (!uid) { + if (uid <= 0) { return callback(new Error('[[error:not-logged-in]]')); } var postData; diff --git a/src/routes/feeds.js b/src/routes/feeds.js index b20b308242..6eab1f95a9 100644 --- a/src/routes/feeds.js +++ b/src/routes/feeds.js @@ -46,7 +46,7 @@ function validateTokenIfRequiresLogin(requiresLogin, cid, req, res, callback) { return callback(); } - if (!uid || !token) { + if (uid <= 0 || !token) { return helpers.notAllowed(req, res); } diff --git a/src/socket.io/modules.js b/src/socket.io/modules.js index e0c9ec4a6d..9094b9811d 100644 --- a/src/socket.io/modules.js +++ b/src/socket.io/modules.js @@ -381,7 +381,7 @@ SocketModules.chats.getRecentChats = function (socket, data, callback) { }; SocketModules.chats.hasPrivateChat = function (socket, uid, callback) { - if (!socket.uid || !uid) { + if (socket.uid <= 0 || uid <= 0) { return callback(new Error('[[error:invalid-data]]')); } Messaging.hasPrivateChat(socket.uid, uid, callback); diff --git a/src/socket.io/topics/unread.js b/src/socket.io/topics/unread.js index 29ebe8b189..627264c09f 100644 --- a/src/socket.io/topics/unread.js +++ b/src/socket.io/topics/unread.js @@ -7,7 +7,7 @@ var topics = require('../../topics'); module.exports = function (SocketTopics) { SocketTopics.markAsRead = function (socket, tids, callback) { - if (!Array.isArray(tids) || !socket.uid) { + if (!Array.isArray(tids) || socket.uid <= 0) { return callback(new Error('[[error:invalid-data]]')); } async.waterfall([ @@ -33,7 +33,7 @@ module.exports = function (SocketTopics) { }; SocketTopics.markAllRead = function (socket, data, callback) { - if (!socket.uid) { + if (socket.uid <= 0) { return callback(new Error('[[error:invalid-uid]]')); } async.waterfall([ @@ -59,7 +59,7 @@ module.exports = function (SocketTopics) { }; SocketTopics.markUnread = function (socket, tid, callback) { - if (!tid || !socket.uid) { + if (!tid || socket.uid <= 0) { return callback(new Error('[[error:invalid-data]]')); } async.waterfall([ @@ -78,7 +78,7 @@ module.exports = function (SocketTopics) { return callback(new Error('[[error:invalid-tid]]')); } - if (!socket.uid) { + if (socket.uid <= 0) { return callback(new Error('[[error:no-privileges]]')); } diff --git a/src/socket.io/user/status.js b/src/socket.io/user/status.js index dbb0d3344b..249bbb134a 100644 --- a/src/socket.io/user/status.js +++ b/src/socket.io/user/status.js @@ -21,7 +21,7 @@ module.exports = function (SocketUser) { }; SocketUser.setStatus = function (socket, status, callback) { - if (!socket.uid) { + if (socket.uid <= 0) { return callback(new Error('[[error:invalid-uid]]')); } diff --git a/src/topics/unread.js b/src/topics/unread.js index 1965d5f733..4fafc28351 100644 --- a/src/topics/unread.js +++ b/src/topics/unread.js @@ -310,7 +310,7 @@ module.exports = function (Topics) { Topics.pushUnreadCount = function (uid, callback) { callback = callback || function () {}; - if (!uid || parseInt(uid, 10) === 0) { + if (!uid || parseInt(uid, 10) <= 0) { return setImmediate(callback); } diff --git a/src/topics/user.js b/src/topics/user.js index d0a8d21426..6471dabb39 100644 --- a/src/topics/user.js +++ b/src/topics/user.js @@ -5,11 +5,11 @@ var db = require('../database'); module.exports = function (Topics) { Topics.isOwner = function (tid, uid, callback) { uid = parseInt(uid, 10); - if (!uid) { - return callback(null, false); + if (uid <= 0) { + return setImmediate(callback, null, false); } Topics.getTopicField(tid, 'uid', function (err, author) { - callback(err, parseInt(author, 10) === uid); + callback(err, author === uid); }); }; diff --git a/src/user/categories.js b/src/user/categories.js index e5417849ab..7403a1ebc6 100644 --- a/src/user/categories.js +++ b/src/user/categories.js @@ -34,8 +34,8 @@ module.exports = function (User) { }; User.ignoreCategory = function (uid, cid, callback) { - if (!uid) { - return callback(); + if (uid <= 0) { + return setImmediate(callback); } async.waterfall([ @@ -55,7 +55,7 @@ module.exports = function (User) { }; User.watchCategory = function (uid, cid, callback) { - if (!uid) { + if (uid <= 0) { return callback(); } diff --git a/src/user/data.js b/src/user/data.js index 907d622c42..32ffe0624a 100644 --- a/src/user/data.js +++ b/src/user/data.js @@ -35,7 +35,7 @@ module.exports = function (User) { User.getUsersFields = function (uids, fields, callback) { if (!Array.isArray(uids) || !uids.length) { - return callback(null, []); + return setImmediate(callback, null, []); } uids = uids.map(uid => (isNaN(uid) ? 0 : uid)); diff --git a/src/user/profile.js b/src/user/profile.js index 6b9cb78eef..f2ba3466f5 100644 --- a/src/user/profile.js +++ b/src/user/profile.js @@ -310,7 +310,7 @@ module.exports = function (User) { } User.changePassword = function (uid, data, callback) { - if (!uid || !data || !data.uid) { + if (uid <= 0 || !data || !data.uid) { return callback(new Error('[[error:invalid-uid]]')); }