fix: #7842, groups.invite works with an array of uids

This commit is contained in:
Barış Soner Uşaklı
2019-08-18 21:51:32 -04:00
parent fa26855671
commit 1e0190abef
5 changed files with 39 additions and 33 deletions

View File

@@ -175,23 +175,18 @@ SocketGroups.issueMassInvite = async (socket, data) => {
if (!data || !data.usernames || !data.groupName) {
throw new Error('[[error:invalid-data]]');
}
var usernames = String(data.usernames).split(',');
usernames = usernames.map(function (username) {
return username && username.trim();
});
let usernames = String(data.usernames).split(',');
usernames = usernames.map(username => username && username.trim());
let uids = await user.getUidsByUsernames(usernames);
uids = uids.filter(function (uid) {
return !!uid && parseInt(uid, 10);
});
uids = uids.filter(uid => !!uid && parseInt(uid, 10));
// eslint-disable-next-line guard-for-in
for (const i in uids) {
// eslint-disable-next-line no-await-in-loop
await groups.invite(data.groupName, uids[i]);
await groups.invite(data.groupName, uids);
for (const uid of uids) {
logGroupEvent(socket, 'group-invite', {
groupName: data.groupName,
targetUid: data.toUid,
targetUid: uid,
});
}
};