diff --git a/server/publications.ts b/server/publications.ts index e8b2511..1974dad 100644 --- a/server/publications.ts +++ b/server/publications.ts @@ -3,16 +3,29 @@ import { Mongo } from 'meteor/mongo'; import { Chats, Messages, Users } from '../imports/collections'; import { Chat, Message, User } from '../imports/models'; -Meteor.publish('users', function(): Mongo.Cursor { +Meteor.publishComposite('users', function( + pattern: string +): PublishCompositeConfig { if (!this.userId) { return; } - return Users.collection.find({}, { - fields: { - profile: 1 + let selector = {}; + + if (pattern) { + selector = { + 'profile.name': { $regex: pattern, $options: 'i' } + }; + } + + return { + find: () => { + return Users.collection.find(selector, { + fields: { profile: 1 }, + limit: 15 + }); } - }); + }; }); Meteor.publish('messages', function(