From b5c9a8a45ed4faf9314ccfebf0ce2a2ca4d64fb0 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Fri, 29 Jan 2016 16:52:37 -0200 Subject: [PATCH] Add sort for all queries with limit --- server/publications/channelAutocomplete.coffee | 2 ++ server/publications/roomSearch.coffee | 4 ++-- server/publications/spotlight.coffee | 2 +- server/publications/userAutocomplete.coffee | 2 ++ 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/publications/channelAutocomplete.coffee b/server/publications/channelAutocomplete.coffee index 7586b0242ef..6f6b3350283 100644 --- a/server/publications/channelAutocomplete.coffee +++ b/server/publications/channelAutocomplete.coffee @@ -9,6 +9,8 @@ Meteor.publish 'channelAutocomplete', (name) -> _id: 1 name: 1 limit: 5 + sort: + name: 1 cursorHandle = RocketChat.models.Rooms.findByNameContainingAndTypes(name, ['c'], options).observeChanges added: (_id, record) -> diff --git a/server/publications/roomSearch.coffee b/server/publications/roomSearch.coffee index f3357511223..308e0e3a869 100644 --- a/server/publications/roomSearch.coffee +++ b/server/publications/roomSearch.coffee @@ -12,7 +12,7 @@ Meteor.publish 'roomSearch', (selector, options, collName) -> delete selector.type if not searchType? or searchType is 'u' - subHandleUsers = RocketChat.models.Users.find(selector, { limit: 10, fields: { name: 1, username: 1, status: 1 } }).observeChanges + subHandleUsers = RocketChat.models.Users.find(selector, { limit: 10, fields: { name: 1, username: 1, status: 1 }, sort: { name: 1 } }).observeChanges added: (id, fields) -> data = { type: 'u', uid: id, name: fields.name, username: fields.username, status: fields.status } self.added("autocompleteRecords", id, data) @@ -22,7 +22,7 @@ Meteor.publish 'roomSearch', (selector, options, collName) -> self.removed("autocompleteRecords", id) if not searchType? or searchType is 'r' - subHandleRooms = RocketChat.models.Rooms.findByTypesAndNotUserIdContainingUsername(RocketChat.roomTypes.getIdentifiers('d'), selector.uid?.$ne, RocketChat.models.Users.findOneById(this.userId).username, { limit: 10, fields: { t: 1, name: 1 } }).observeChanges + subHandleRooms = RocketChat.models.Rooms.findByTypesAndNotUserIdContainingUsername(RocketChat.roomTypes.getIdentifiers('d'), selector.uid?.$ne, RocketChat.models.Users.findOneById(this.userId).username, { limit: 10, fields: { t: 1, name: 1 }, sort: { name: 1 } }).observeChanges added: (id, fields) -> data = { type: 'r', rid: id, name: fields.name, t: fields.t } self.added("autocompleteRecords", id, data) diff --git a/server/publications/spotlight.coffee b/server/publications/spotlight.coffee index 62fe104a703..6d95171eea3 100644 --- a/server/publications/spotlight.coffee +++ b/server/publications/spotlight.coffee @@ -6,7 +6,7 @@ Meteor.publish 'spotlight', (selector, options, collName) -> subHandleUsers = null subHandleRooms = null - subHandleUsers = RocketChat.models.Users.findUsersByNameOrUsername(new RegExp(selector.name.$regex, 'i'), { limit: 10, fields: { name: 1, username: 1, status: 1 } }).observeChanges + subHandleUsers = RocketChat.models.Users.findUsersByNameOrUsername(new RegExp(selector.name.$regex, 'i'), { limit: 10, fields: { name: 1, username: 1, status: 1 }, sort: { name: 1 } }).observeChanges added: (id, fields) -> data = { type: 'u', uid: id, name: fields.username + ' - ' + fields.name, status: fields.status } self.added("autocompleteRecords", id, data) diff --git a/server/publications/userAutocomplete.coffee b/server/publications/userAutocomplete.coffee index 0f20eb20524..1be9ad7d5bf 100644 --- a/server/publications/userAutocomplete.coffee +++ b/server/publications/userAutocomplete.coffee @@ -10,6 +10,8 @@ Meteor.publish 'userAutocomplete', (selector) -> username: 1 status: 1 limit: 10 + sort: + name: 1 exceptions = selector.exceptions or []