summaryrefslogtreecommitdiff
path: root/node_modules/discord.js/src/structures/PermissionOverwrites.js
diff options
context:
space:
mode:
author8cy <[email protected]>2020-04-03 02:37:42 -0700
committer8cy <[email protected]>2020-04-03 02:37:42 -0700
commit60867fb030bae582082340ead7dbc7efdc2f5398 (patch)
tree4c6a7356351be2e4914e15c4703172597c45656e /node_modules/discord.js/src/structures/PermissionOverwrites.js
parentcommenting (diff)
downloads5nical-60867fb030bae582082340ead7dbc7efdc2f5398.tar.xz
s5nical-60867fb030bae582082340ead7dbc7efdc2f5398.zip
2020/04/03, 02:34, v1.2.0
Diffstat (limited to 'node_modules/discord.js/src/structures/PermissionOverwrites.js')
-rw-r--r--node_modules/discord.js/src/structures/PermissionOverwrites.js69
1 files changed, 69 insertions, 0 deletions
diff --git a/node_modules/discord.js/src/structures/PermissionOverwrites.js b/node_modules/discord.js/src/structures/PermissionOverwrites.js
new file mode 100644
index 0000000..ebb78fb
--- /dev/null
+++ b/node_modules/discord.js/src/structures/PermissionOverwrites.js
@@ -0,0 +1,69 @@
+const Permissions = require('../util/Permissions');
+
+/**
+ * Represents a permission overwrite for a role or member in a guild channel.
+ */
+class PermissionOverwrites {
+ constructor(guildChannel, data) {
+ /**
+ * The GuildChannel this overwrite is for
+ * @name PermissionOverwrites#channel
+ * @type {GuildChannel}
+ * @readonly
+ */
+ Object.defineProperty(this, 'channel', { value: guildChannel });
+
+ if (data) this.setup(data);
+ }
+
+ setup(data) {
+ /**
+ * The ID of this overwrite, either a user ID or a role ID
+ * @type {Snowflake}
+ */
+ this.id = data.id;
+
+ /**
+ * The type of this overwrite
+ * @type {string}
+ */
+ this.type = data.type;
+
+ /**
+ * The permissions that are denied for the user or role as a bitfield.
+ * @type {number}
+ */
+ this.deny = data.deny;
+
+ /**
+ * The permissions that are allowed for the user or role as a bitfield.
+ * @type {number}
+ */
+ this.allow = data.allow;
+
+ /**
+ * The permissions that are denied for the user or role.
+ * @type {Permissions}
+ * @deprecated
+ */
+ this.denied = new Permissions(data.deny).freeze();
+
+ /**
+ * The permissions that are allowed for the user or role.
+ * @type {Permissions}
+ * @deprecated
+ */
+ this.allowed = new Permissions(data.allow).freeze();
+ }
+
+ /**
+ * Delete this Permission Overwrite.
+ * @param {string} [reason] Reason for deleting this overwrite
+ * @returns {Promise<PermissionOverwrites>}
+ */
+ delete(reason) {
+ return this.channel.client.rest.methods.deletePermissionOverwrites(this, reason);
+ }
+}
+
+module.exports = PermissionOverwrites;