Improvement upon addMemberToRoles and build

This commit is contained in:
abalabahaha
2016-01-12 14:59:45 -08:00
parent 51a8feb562
commit cffdb5f5f6
2 changed files with 16 additions and 18 deletions

View File

@@ -656,26 +656,18 @@ export default class InternalClient {
return Promise.reject(new Error("invalid array of roles"));
}
if (roles.some(role => !role.server.memberMap[member.id])) {
return Promise.reject(new Error("Role does not exist on same server as member"));
}
var roleIDS = roles[0].server.memberMap[member.id].roles.map(r => r.id);
var currentMemberRoles = roles[0].server.memberMap[member.id].roles;
for (var i = 0; i < roles.length; i++) {
var alreadyHasRole = currentMemberRoles.some(function(currentValue) {
if (currentValue.id === roles[i].id) {
return true;
};
});
if (!alreadyHasRole) {
if (!~roleIDs.indexOf(roles[i].id)) {
roleIDS.push(roles[i].id);
};
};
if (roles.some(function(role) {
return !role.server.memberMap[member.id];
})) {
return Promise.reject(new Error("Role does not exist on same server as member"));
}
return this.apiRequest(
"patch",
`${Endpoints.SERVER_MEMBERS(role.server.id)}/${member.id}`,