mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-03 04:25:55 +01:00
Favourites.hasVoted
This commit is contained in:
@@ -43,7 +43,6 @@ var async = require('async'),
|
||||
|
||||
db.setAdd('pid:' + pid + ':' + type, uid, function(err) {
|
||||
db.setCount('pid:' + pid + ':' + type, function(err, count) {
|
||||
console.log(count);
|
||||
posts.setPostField(pid, type, count);
|
||||
});
|
||||
});
|
||||
@@ -69,13 +68,13 @@ var async = require('async'),
|
||||
}
|
||||
|
||||
Favourites.upvote = function(pid, room_id, uid, socket) {
|
||||
Favourites.unvote(pid, room_id, uid, socket, function(postData) {
|
||||
Favourites.unvote(pid, room_id, uid, socket, function(err, postData) {
|
||||
vote('upvote', postData, pid, room_id, uid, socket);
|
||||
});
|
||||
};
|
||||
|
||||
Favourites.downvote = function(pid, room_id, uid, socket) {
|
||||
Favourites.unvote(pid, room_id, uid, socket, function(postData) {
|
||||
Favourites.unvote(pid, room_id, uid, socket, function(err, postData) {
|
||||
vote('downvote', postData, pid, room_id, uid, socket);
|
||||
});
|
||||
};
|
||||
@@ -83,16 +82,9 @@ var async = require('async'),
|
||||
Favourites.unvote = function(pid, room_id, uid, socket, callback) {
|
||||
var websockets = require('./socket.io');
|
||||
|
||||
async.parallel({
|
||||
upvoted: function(each) {
|
||||
db.isSetMember('pid:' + pid + ':upvote', uid, each);
|
||||
},
|
||||
downvoted: function(each) {
|
||||
db.isSetMember('pid:' + pid + ':downvote', uid, each);
|
||||
}
|
||||
}, function(err, results) {
|
||||
Favourites.hasVoted(pid, uid, function(err, voteStatus) {
|
||||
posts.getPostFields(pid, ['uid', 'timestamp'], function (err, postData) {
|
||||
if (results.upvoted) {
|
||||
if (voteStatus === 'upvoted') {
|
||||
db.sortedSetRemove('uid:' + uid + ':upvote');
|
||||
|
||||
db.setRemove('pid:' + pid + ':upvote', uid, function(err) {
|
||||
@@ -111,7 +103,7 @@ var async = require('async'),
|
||||
pid: pid
|
||||
});
|
||||
}
|
||||
} else if (results.downvoted) {
|
||||
} else if (voteStatus === 'downvoted') {
|
||||
db.sortedSetRemove('uid:' + uid + ':downvote');
|
||||
|
||||
db.setRemove('pid:' + pid + ':downvote', uid, function(err) {
|
||||
@@ -132,22 +124,39 @@ var async = require('async'),
|
||||
}
|
||||
}
|
||||
|
||||
if (results.upvoted || results.downvoted) {
|
||||
if (voteStatus) {
|
||||
socket.emit('posts.unvote', {
|
||||
pid: pid
|
||||
});
|
||||
}
|
||||
|
||||
if (callback) {
|
||||
callback(postData);
|
||||
callback(err, postData);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
Favourites.hasVoted = function(type, pid, uid, callback) {
|
||||
db.isSetMember('pid:' + pid + ':' + type, uid, callback);
|
||||
Favourites.hasVoted = function(pid, uid, callback) {
|
||||
async.parallel({
|
||||
upvoted: function(each) {
|
||||
db.isSetMember('pid:' + pid + ':upvote', uid, each);
|
||||
},
|
||||
downvoted: function(each) {
|
||||
db.isSetMember('pid:' + pid + ':downvote', uid, each);
|
||||
}
|
||||
}, function(err, results) {
|
||||
var voteStatus = "";
|
||||
|
||||
if (results.upvoted) {
|
||||
voteStatus = "upvoted";
|
||||
} else if (results.downvoted) {
|
||||
voteStatus = "downvoted";
|
||||
}
|
||||
|
||||
callback(err, voteStatus)
|
||||
});
|
||||
};
|
||||
|
||||
Favourites.favourite = function (pid, room_id, uid, socket) {
|
||||
|
||||
Reference in New Issue
Block a user