Skip to content

Instantly share code, notes, and snippets.

@henryboldi
Created August 29, 2014 07:51
Show Gist options
  • Save henryboldi/08e8579ff48795983af0 to your computer and use it in GitHub Desktop.
Save henryboldi/08e8579ff48795983af0 to your computer and use it in GitHub Desktop.
recent: function(req, res, next) {
Hacks.find({
isEncoded: true
}).populate('comments', {
limit: 2,
sort: 'createdAt DESC'
}).limit(15).skip(req.param('skip')).sort('createdAt DESC').exec(function(err, hacks) {
if (err) return next(err);
if (!hacks) return next();
//start
var allHacks = [];
var hacksLength = hacks.length;
console.log('the hank length is ' + hacks.length);
for (var i = 0; i < hacks.length; i++) {
var hacksOwner = hacks[i].owner;
var thisHack = hacks[i];
console.log(thisHack);
if (typeof req.session.User !== 'undefined') {
Like.findOne({
postID: thisHack.id,
owner: req.session.User.id
}).exec(function foundLike(err, like) {
// console.log(err);
if (like) {
var likeMessage = true;
} else {
var likeMessage = false;
}
// console.log(thisHack);
Follow.findOne({
userFollowed: hacksOwner,
follower: req.session.User.id
}).exec(function foundLike(err, follow) {
if (follow) {
var followMessage = true;
} else {
var followMessage = false;
}
thisHack.isLiked = likeMessage;
thisHack.isFollowed = followMessage;
if (req.session.User.id == thisHack.owner) {
thisHack.isOwner = true;
} else {
thisHack.isOwner = false;
}
allHacks.push(thisHack);
// console.log(thisHack);
if (allHacks.length === hacksLength) {
res.json({
success: true,
hacks: allHacks
});
};
}); //end
});
} else {
thisHack.isOwner = false;
thisHack.isLiked = false;
thisHack.isFollowed = false;
allHacks.push(thisHack);
if (allHacks.length === hacksLength) {
res.json({
success: true,
hacks: allHacks
});
};
}
}
});
},
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment