2017-03-23 16:27:59 +09:00
|
|
|
import { GraphQLSchema } from 'meteor/vulcan:core';
|
2017-01-16 12:24:59 +09:00
|
|
|
|
|
|
|
const specificResolvers = {
|
|
|
|
Post: {
|
2017-04-15 12:03:25 +09:00
|
|
|
async upvoters(post, args, context) {
|
|
|
|
console.log("// Post.upvoters: ", new Date().getMilliseconds())
|
|
|
|
const upvoters = post.upvoters ? await context.Users.loader.loadMany(post.upvoters, `Post.upvoters (${post.title})`) : [];
|
|
|
|
return context.Users.restrictViewableFields(context.currentUser, context.Users, upvoters);
|
2017-01-16 12:24:59 +09:00
|
|
|
},
|
2017-03-05 13:10:16 +00:00
|
|
|
downvoters(post, args, context) {
|
|
|
|
return post.downvoters ? context.Users.find({_id: {$in: post.downvoters}}, { fields: context.getViewableFields(context.currentUser, context.Users) }).fetch() : [];
|
2017-01-16 12:24:59 +09:00
|
|
|
},
|
|
|
|
},
|
|
|
|
Comment: {
|
2017-03-05 13:10:16 +00:00
|
|
|
upvoters(comment, args, context) {
|
|
|
|
return comment.upvoters ? context.Users.find({_id: {$in: comment.upvoters}}, { fields: context.getViewableFields(context.currentUser, context.Users) }).fetch() : [];
|
2017-01-16 12:24:59 +09:00
|
|
|
},
|
2017-03-05 13:10:16 +00:00
|
|
|
downvoters(comment, args, context) {
|
|
|
|
return comment.downvoters ? context.Users.find({_id: {$in: comment.downvoters}}, { fields: context.getViewableFields(context.currentUser, context.Users) }).fetch() : [];
|
2017-01-16 12:24:59 +09:00
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
GraphQLSchema.addResolvers(specificResolvers);
|