refactor(models): Use Messages Raw model (5/N) (#28590)
parent
4dfe07136c
commit
a791efa0fc
@ -1,18 +0,0 @@ |
||||
import { Meteor } from 'meteor/meteor'; |
||||
import { Match } from 'meteor/check'; |
||||
|
||||
import { Rooms, Messages } from '../../../models/server'; |
||||
|
||||
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); |
||||
|
||||
if (result && sendMessage) { |
||||
readOnly ? Messages.createRoomSetReadOnlyByRoomIdAndUser(rid, user) : Messages.createRoomRemovedReadOnlyByRoomIdAndUser(rid, user); |
||||
} |
||||
return result; |
||||
}; |
||||
@ -0,0 +1,30 @@ |
||||
import { Meteor } from 'meteor/meteor'; |
||||
import { Match } from 'meteor/check'; |
||||
import { Rooms, Messages } from '@rocket.chat/models'; |
||||
import type { IUser } from '@rocket.chat/core-typings'; |
||||
|
||||
import { settings } from '../../../settings/server'; |
||||
|
||||
export async function saveRoomReadOnly( |
||||
rid: string, |
||||
readOnly: boolean, |
||||
user: Required<Pick<IUser, '_id' | 'username' | 'name'>>, |
||||
sendMessage = true, |
||||
) { |
||||
if (!Match.test(rid, String)) { |
||||
throw new Meteor.Error('invalid-room', 'Invalid room', { |
||||
function: 'RocketChat.saveRoomReadOnly', |
||||
}); |
||||
} |
||||
|
||||
const result = await Rooms.setReadOnlyById(rid, readOnly); |
||||
|
||||
if (result && sendMessage) { |
||||
if (readOnly) { |
||||
await Messages.createRoomSetReadOnlyByRoomIdAndUser(rid, user, settings.get('Message_Read_Receipt_Enabled')); |
||||
} else { |
||||
await Messages.createRoomRemovedReadOnlyByRoomIdAndUser(rid, user, settings.get('Message_Read_Receipt_Enabled')); |
||||
} |
||||
} |
||||
return result; |
||||
} |
||||
Loading…
Reference in new issue