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/ui-utils/client/lib/messageContext.js

45 lines
1.7 KiB

import { Meteor } from 'meteor/meteor';
import { Template } from 'meteor/templating';
import { Subscriptions, Rooms, Users } from '../../../models/client';
import { hasPermission } from '../../../authorization/client';
import { settings } from '../../../settings/client';
import { getUserPreference } from '../../../utils/client';
import { AutoTranslate } from '../../../autotranslate/client';
export function messageContext({ rid } = Template.instance()) {
const uid = Meteor.userId();
return {
u: Users.findOne({ _id: uid }, { fields: { name: 1, username: 1 } }) || {},
room: Rooms.findOne({ _id: rid }, {
reactive: false,
fields: {
_updatedAt: 0,
lastMessage: 0,
},
}),
subscription: Subscriptions.findOne({ rid }, {
fields: {
name: 1,
autoTranslate: 1,
rid: 1,
},
}),
settings: {
translateLanguage: AutoTranslate.getLanguage(rid),
showreply: true,
showReplyButton: true,
hasPermissionDeleteMessage: hasPermission('delete-message', rid),
hideRoles: !settings.get('UI_DisplayRoles') || getUserPreference(uid, 'hideRoles'),
UI_Use_Real_Name: settings.get('UI_Use_Real_Name'),
Chatops_Username: settings.get('Chatops_Username'),
AutoTranslate_Enabled: settings.get('AutoTranslate_Enabled'),
Message_AllowEditing: settings.get('Message_AllowEditing'),
Message_AllowEditing_BlockEditInMinutes: settings.get('Message_AllowEditing_BlockEditInMinutes'),
Message_ShowEditedStatus: settings.get('Message_ShowEditedStatus'),
API_Embed: settings.get('API_Embed'),
API_EmbedDisabledFor: settings.get('API_EmbedDisabledFor'),
Message_GroupingPeriod: settings.get('Message_GroupingPeriod') * 1000,
},
};
}