mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-27 17:16:14 +01:00
prevent double follow/unfollow
This commit is contained in:
@@ -282,28 +282,24 @@ SocketUser.follow = function(socket, data, callback) {
|
||||
return;
|
||||
}
|
||||
|
||||
toggleFollow('follow', socket.uid, data.uid, function(err) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
user.getUserFields(socket.uid, ['username', 'userslug'], function(err, userData) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
|
||||
async.waterfall([
|
||||
function(next) {
|
||||
toggleFollow('follow', socket.uid, data.uid, next);
|
||||
},
|
||||
function(next) {
|
||||
user.getUserFields(socket.uid, ['username', 'userslug'], next);
|
||||
},
|
||||
function(userData, next) {
|
||||
notifications.create({
|
||||
bodyShort: '[[notifications:user_started_following_you, ' + userData.username + ']]',
|
||||
nid: 'follow:' + data.uid + ':uid:' + socket.uid,
|
||||
from: socket.uid
|
||||
}, function(err, notification) {
|
||||
if (!err && notification) {
|
||||
notifications.push(notification, [data.uid]);
|
||||
}
|
||||
callback(err);
|
||||
});
|
||||
});
|
||||
});
|
||||
}, next);
|
||||
},
|
||||
function(notification, next) {
|
||||
notifications.push(notification, [data.uid], next);
|
||||
}
|
||||
], callback);
|
||||
};
|
||||
|
||||
SocketUser.unfollow = function(socket, data, callback) {
|
||||
|
||||
Reference in New Issue
Block a user