import RocketChat from '../lib/rocketchat'; const canPost = async({ rid }) => { try { const permission = await RocketChat.hasPermission(['post-readonly'], rid); return permission && permission['post-readonly']; } catch { // do nothing } return false; }; const isMuted = (room, user) => room && room.muted && room.muted.find && !!room.muted.find(m => m === user.username); export const isReadOnly = async(room, user) => { if (room.archived) { return true; } if (isMuted(room, user)) { return true; } if (room?.ro) { const allowPost = await canPost(room); if (allowPost) { return false; } return true; } return false; };