mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 21:13:36 +00:00
people.js: Add methods for user_ids_string/emails_string.
Added:
* people.user_ids_string_to_emails_string
* people.emails_strings_to_user_ids_string
This commit is contained in:
@@ -227,3 +227,25 @@ var _ = global._;
|
||||
people.remove(ashton);
|
||||
people.remove(linus);
|
||||
}());
|
||||
|
||||
(function test_multi_user_methods() {
|
||||
var emp401 = {
|
||||
email: 'emp401@example.com',
|
||||
user_id: 401,
|
||||
full_name: 'whatever 401'
|
||||
};
|
||||
var emp402 = {
|
||||
email: 'emp402@example.com',
|
||||
user_id: 402,
|
||||
full_name: 'whatever 402'
|
||||
};
|
||||
|
||||
people.add_in_realm(emp401);
|
||||
people.add_in_realm(emp402);
|
||||
|
||||
var emails_string = people.user_ids_string_to_emails_string('401,402');
|
||||
assert.equal(emails_string, 'emp401@example.com,emp402@example.com');
|
||||
|
||||
var user_ids_string = people.emails_strings_to_user_ids_string(emails_string);
|
||||
assert.equal(user_ids_string, '401,402');
|
||||
}());
|
||||
|
||||
@@ -35,6 +35,38 @@ exports.get_user_id = function (email) {
|
||||
return user_id;
|
||||
};
|
||||
|
||||
exports.user_ids_string_to_emails_string = function (user_ids_string) {
|
||||
var user_ids = user_ids_string.split(',');
|
||||
var emails = _.map(user_ids, function (user_id) {
|
||||
var person = people_by_user_id_dict.get(user_id);
|
||||
if (person) {
|
||||
return person.email;
|
||||
}
|
||||
});
|
||||
|
||||
if (!_.all(emails)) {
|
||||
blueslip.error('Unknown user ids: ' + user_ids_string);
|
||||
return;
|
||||
}
|
||||
return emails.join(',');
|
||||
};
|
||||
|
||||
exports.emails_strings_to_user_ids_string = function (emails_string) {
|
||||
var emails = emails_string.split(',');
|
||||
var user_ids = _.map(emails, function (email) {
|
||||
var person = people_dict.get(email);
|
||||
if (person) {
|
||||
return person.user_id;
|
||||
}
|
||||
});
|
||||
|
||||
if (!_.all(user_ids)) {
|
||||
blueslip.error('Unknown emails: ' + emails_string);
|
||||
return;
|
||||
}
|
||||
return user_ids.join(',');
|
||||
};
|
||||
|
||||
exports.realm_get = function realm_get(email) {
|
||||
return realm_people_dict.get(email);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user