feat: allow multiple permission overwrites when editing channel (#2370)

* feat: allow multiple permission overwrites when editing channel

* undo Permissions#resolve change
This commit is contained in:
Isabella
2018-03-03 11:18:58 -06:00
committed by GitHub
parent ca054affc7
commit b637c9c220
3 changed files with 71 additions and 37 deletions

View File

@@ -0,0 +1,26 @@
const Permissions = require('../../util/Permissions');
const Collection = require('../../util/Collection');
module.exports = function resolvePermissions(overwrites) {
if (overwrites instanceof Collection || overwrites instanceof Array) {
overwrites = overwrites.map(overwrite => {
const role = this.guild.roles.resolve(overwrite.id);
if (role) {
overwrite.id = role.id;
overwrite.type = 'role';
} else {
overwrite.id = this.client.users.resolveID(overwrite.id);
overwrite.type = 'member';
}
return {
allow: Permissions.resolve(overwrite.allowed || 0),
deny: Permissions.resolve(overwrite.denied || 0),
type: overwrite.type,
id: overwrite.id,
};
});
}
return overwrites;
};