mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-12 01:23:31 +01:00
move permission stuff to the resolver (#1185)
This commit is contained in:
@@ -217,6 +217,20 @@ class ClientDataResolver {
|
||||
return bitfield;
|
||||
}
|
||||
|
||||
hasPermission(bitfield, name, explicit = false) {
|
||||
const permission = this.resolvePermission(name);
|
||||
if (!explicit && (bitfield & Constants.PermissionFlags.ADMINISTRATOR) > 0) return true;
|
||||
return (bitfield & permission) > 0;
|
||||
}
|
||||
|
||||
serializePermissions(bitfield) {
|
||||
const serializedPermissions = {};
|
||||
for (const name in Constants.PermissionFlags) {
|
||||
serializedPermissions[name] = this.hasPermission(bitfield, name);
|
||||
}
|
||||
return serializedPermissions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Data that can be resolved to give a string. This can be:
|
||||
* * A string
|
||||
|
||||
@@ -140,11 +140,7 @@ class Role {
|
||||
* console.log(role.serialize());
|
||||
*/
|
||||
serialize() {
|
||||
const serializedPermissions = {};
|
||||
for (const permissionName in Constants.PermissionFlags) {
|
||||
serializedPermissions[permissionName] = this.hasPermission(permissionName);
|
||||
}
|
||||
return serializedPermissions;
|
||||
return this.client.resolver.serializePermissions(this.permissions);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -160,10 +156,8 @@ class Role {
|
||||
* console.log('This role can\'t ban members');
|
||||
* }
|
||||
*/
|
||||
hasPermission(permission, explicit = false) {
|
||||
permission = this.client.resolver.resolvePermission(permission);
|
||||
if (!explicit && (this.permissions & Constants.PermissionFlags.ADMINISTRATOR) > 0) return true;
|
||||
return (this.permissions & permission) > 0;
|
||||
hasPermission(permission, explicit) {
|
||||
return this.client.resolver.hasPermission(this.permissions, permission, explicit);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user