The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/server/methods/loadNextMessages.coffee

35 lines
867 B

Meteor.methods
loadNextMessages: (rid, end, limit=20) ->
check rid, String
# check end, Match.Optional(Number)
check limit, Number
if not Meteor.userId()
throw new Meteor.Error 'error-invalid-user', 'Invalid user', { method: 'loadNextMessages' }
fromId = Meteor.userId()
unless Meteor.call 'canAccessRoom', rid, fromId
return false
options =
sort:
ts: 1
limit: limit
if not RocketChat.settings.get 'Message_ShowEditedStatus'
options.fields = { 'editedAt': 0 }
if end?
records = RocketChat.models.Messages.findVisibleByRoomIdAfterTimestamp(rid, end, options).fetch()
else
records = RocketChat.models.Messages.findVisibleByRoomId(rid, options).fetch()
messages = _.map records, (message) ->
message.starred = _.findWhere message.starred, { _id: fromId }
return message
return {
messages: messages
}