aboutsummaryrefslogtreecommitdiff
path: root/node_modules/discord.js/src/structures/PermissionOverwrites.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/discord.js/src/structures/PermissionOverwrites.js')
-rw-r--r--node_modules/discord.js/src/structures/PermissionOverwrites.js43
1 files changed, 43 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..9b2f536
--- /dev/null
+++ b/node_modules/discord.js/src/structures/PermissionOverwrites.js
@@ -0,0 +1,43 @@
+/**
+ * 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 {string}
+ */
+ this.id = data.id;
+
+ /**
+ * The type of this overwrite
+ * @type {string}
+ */
+ this.type = data.type;
+
+ this.deny = data.deny;
+ this.allow = data.allow;
+ }
+
+ /**
+ * Delete this Permission Overwrite.
+ * @returns {Promise<PermissionOverwrites>}
+ */
+ delete() {
+ return this.channel.client.rest.methods.deletePermissionOverwrites(this);
+ }
+}
+
+module.exports = PermissionOverwrites;