import Users from "meteor/vulcan:users"; Users.addField([ /** Count of the user's posts */ { fieldName: "postCount", fieldSchema: { type: Number, optional: true, defaultValue: 0, viewableBy: ['guests'], } }, /** The user's associated posts (GraphQL only) */ { fieldName: "posts", fieldSchema: { type: Array, optional: true, viewableBy: ['guests'], resolveAs: { fieldName: 'posts', type: '[Post]', resolver: (user, args, { currentUser, Users, Posts }) => { const posts = Posts.find({userId: user._id}).fetch(); // restrict documents fields const viewablePosts = _.filter(posts, post => Posts.checkAccess(currentUser, post)); const restrictedPosts = Users.restrictViewableFields(currentUser, Posts, viewablePosts); return restrictedPosts; } } } } ]);