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/packages/rocketchat-lib/server/functions/checkUsernameAvailability.js

21 lines
669 B

RocketChat.checkUsernameAvailability = function(username) {
return RocketChat.settings.get('Accounts_BlockedUsernameList', function(key, value) {
const usernameBlackList = _.map(value.split(','), function(username) {
return username.trim();
});
if (usernameBlackList.length !== 0) {
if (usernameBlackList.every(restrictedUsername => {
const regex = new RegExp(`^${ s.escapeRegExp(restrictedUsername) }$`, 'i');
return !regex.test(s.trim(s.escapeRegExp(username)));
})) {
return !Meteor.users.findOne({
username: {
$regex: new RegExp(`^${ s.trim(s.escapeRegExp(username)) }$`, 'i')
}
});
}
return false;
}
});
};