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/readMessages.js

25 lines
671 B

import { ReadReceipt } from '../../imports/message-read-receipt/server/lib/ReadReceipt';
Meteor.methods({
readMessages(rid) {
check(rid, String);
const userId = Meteor.userId();
if (!userId) {
throw new Meteor.Error('error-invalid-user', 'Invalid user', {
method: 'readMessages'
});
}
// this prevents cache from updating object reference/pointer
7 years ago
const userSubscription = Object.assign({}, RocketChat.models.Subscriptions.findOneByRoomIdAndUserId(rid, userId));
RocketChat.models.Subscriptions.setAsReadByRoomIdAndUserId(rid, userId);
Meteor.defer(() => {
7 years ago
ReadReceipt.markMessagesAsRead(rid, userId, userSubscription.ls);
});
}
});