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/livechat/server/methods/searchAgent.js

25 lines
814 B

import { Meteor } from 'meteor/meteor';
import _ from 'underscore';
import { hasPermission } from '../../../authorization';
import { Users } from '../../../models';
Meteor.methods({
'livechat:searchAgent'(username) {
if (!Meteor.userId() || !hasPermission(Meteor.userId(), 'view-livechat-manager')) {
throw new Meteor.Error('error-not-allowed', 'Not allowed', { method: 'livechat:searchAgent' });
}
if (!username || !_.isString(username)) {
throw new Meteor.Error('error-invalid-arguments', 'Invalid arguments', { method: 'livechat:searchAgent' });
}
const user = Users.findOneByUsernameIgnoringCase(username, { fields: { _id: 1, username: 1 } });
if (!user) {
throw new Meteor.Error('error-invalid-user', 'Invalid user', { method: 'livechat:searchAgent' });
}
return user;
},
});