Vulcan/packages/vulcan-voting/lib/modules/helpers.js
2017-09-04 20:28:50 +09:00

24 lines
No EOL
920 B
JavaScript

/**
* @summary Check if a user has upvoted a document
* @param {Object} user
* @param {Object} document
* @returns {Boolean}
*/
const hasUpvoted = (user, document) => {
// note(apollo): check upvoters depending if the document is queried by mongo directly or fetched by an apollo resolver
return user && document.upvoters && !!document.upvoters.find(u => u && (typeof u === 'string' ? u === user._id : u._id === user._id));
};
/**
* @summary Check if a user has downvoted a document
* @param {Object} user
* @param {Object} document
* @returns {Boolean}
*/
const hasDownvoted = (user, document) => {
// note(apollo): check downvoters depending if the document is queried by mongo directly or fetched by an apollo resolver
return user && document.downvoters && !!document.downvoters.find(u => u && (typeof u === 'string' ? u === user._id : u._id === user._id));
};
export { hasUpvoted, hasDownvoted }