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/app/channel-settings/server/functions/saveRoomReadOnly.js

19 lines
673 B

import { Meteor } from 'meteor/meteor';
import { Match } from 'meteor/check';
import { Rooms, Messages } from '../../../models';
import { hasPermission } from '../../../authorization';
export const saveRoomReadOnly = function (rid, readOnly, user, sendMessage = true) {
if (!Match.test(rid, String)) {
throw new Meteor.Error('invalid-room', 'Invalid room', {
function: 'RocketChat.saveRoomReadOnly',
});
}
const result = Rooms.setReadOnlyById(rid, readOnly, hasPermission);
if (result && sendMessage) {
readOnly ? Messages.createRoomSetReadOnlyByRoomIdAndUser(rid, user) : Messages.createRoomRemovedReadOnlyByRoomIdAndUser(rid, user);
}
return result;
};