From 9a927d428adaafa6b3a125373920a4aeb51b7a3b Mon Sep 17 00:00:00 2001 From: Sacha Greif Date: Fri, 4 Sep 2015 09:34:45 +0900 Subject: [PATCH] add userId to terms when passed from publication or template controller --- .../client/templates/posts_list/posts_list_controller.js | 3 +++ packages/telescope-posts/lib/server/publications.js | 6 ++++++ .../lib/server/publications.js | 3 +++ packages/telescope-users/lib/server/publications.js | 9 +++++++++ 4 files changed, 21 insertions(+) diff --git a/packages/telescope-posts/lib/client/templates/posts_list/posts_list_controller.js b/packages/telescope-posts/lib/client/templates/posts_list/posts_list_controller.js index b829f5193..634c53a4b 100644 --- a/packages/telescope-posts/lib/client/templates/posts_list/posts_list_controller.js +++ b/packages/telescope-posts/lib/client/templates/posts_list/posts_list_controller.js @@ -41,6 +41,9 @@ Template.posts_list_controller.onCreated(function () { // get terms from data context var terms = Template.currentData().terms; // ⚡ reactive ⚡ + // add current userId to terms + terms.userId = Meteor.userId(); + // get limit from local template variable var postsLimit = instance.postsLimit.get(); // ⚡ reactive ⚡ diff --git a/packages/telescope-posts/lib/server/publications.js b/packages/telescope-posts/lib/server/publications.js index cda3e7cea..e5b49fbad 100644 --- a/packages/telescope-posts/lib/server/publications.js +++ b/packages/telescope-posts/lib/server/publications.js @@ -3,6 +3,9 @@ Posts._ensureIndex({"status": 1, "postedAt": 1}); // Publish a list of posts Meteor.publish('postsList', function(terms) { + + terms.userId = this.userId; // add userId to terms + if(Users.can.viewById(this.userId)){ var parameters = Posts.parameters.get(terms), posts = Posts.find(parameters.find, parameters.options); @@ -16,6 +19,9 @@ Meteor.publish('postsList', function(terms) { // plus the commenters for each post Meteor.publish('postsListUsers', function(terms) { + + terms.userId = this.userId; // add userId to terms + if(Users.can.viewById(this.userId)){ var parameters = Posts.parameters.get(terms), posts = Posts.find(parameters.find, parameters.options), diff --git a/packages/telescope-subscribe-to-posts/lib/server/publications.js b/packages/telescope-subscribe-to-posts/lib/server/publications.js index 6947852f5..0bd7508d0 100644 --- a/packages/telescope-subscribe-to-posts/lib/server/publications.js +++ b/packages/telescope-subscribe-to-posts/lib/server/publications.js @@ -1,4 +1,7 @@ Meteor.publish('userSubscribedPosts', function(terms) { + + terms.userId = this.userId; // add userId to terms + var parameters = Posts.parameters.get(terms); var posts = Posts.find(parameters.find, parameters.options); return posts; diff --git a/packages/telescope-users/lib/server/publications.js b/packages/telescope-users/lib/server/publications.js index a4a1073da..28a835c18 100644 --- a/packages/telescope-users/lib/server/publications.js +++ b/packages/telescope-users/lib/server/publications.js @@ -11,18 +11,27 @@ Meteor.publish('singleUser', function(idOrSlug) { }); Meteor.publish('userPosts', function(terms) { + + terms.userId = this.userId; // add userId to terms + var parameters = Posts.parameters.get(terms); var posts = Posts.find(parameters.find, parameters.options); return posts; }); Meteor.publish('userUpvotedPosts', function(terms) { + + terms.userId = this.userId; // add userId to terms + var parameters = Posts.parameters.get(terms); var posts = Posts.find(parameters.find, parameters.options); return posts; }); Meteor.publish('userDownvotedPosts', function(terms) { + + terms.userId = this.userId; // add userId to terms + var parameters = Posts.parameters.get(terms); var posts = Posts.find(parameters.find, parameters.options); return posts;