diff --git a/server/methods/getUsersOfRoom.js b/server/methods/getUsersOfRoom.js new file mode 100644 index 00000000000..2f07cc817ba --- /dev/null +++ b/server/methods/getUsersOfRoom.js @@ -0,0 +1,14 @@ +Meteor.methods({ + getUsersOfRoom(roomId) { + if (!Meteor.userId()) { + throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'getUsersOfRoom' }); + } + + const room = Meteor.call('canAccessRoom', roomId, Meteor.userId()); + if (!room) { + throw new Meteor.Error('error-invalid-room', 'Invalid room', { method: 'getUsersOfRoom' }); + } + + return RocketChat.cache.Rooms.findByIndex('_id', roomId).usernames; + } +});