Skip to content

Commit 599cde3

Browse files
fix(GuildChannel): make lockPermissions use parent overwrites (#4627)
Co-authored-by: Vlad Frangu <kingdgrizzle@gmail.com>
1 parent bd2bb0e commit 599cde3

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/structures/GuildChannel.js

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -334,8 +334,22 @@ class GuildChannel extends Channel {
334334
});
335335
}
336336

337-
const permission_overwrites =
338-
data.permissionOverwrites && data.permissionOverwrites.map(o => PermissionOverwrites.resolve(o, this.guild));
337+
let permission_overwrites;
338+
339+
if (data.permissionOverwrites) {
340+
permission_overwrites = data.permissionOverwrites.map(o => PermissionOverwrites.resolve(o, this.guild));
341+
}
342+
343+
if (data.lockPermissions) {
344+
if (data.parentID) {
345+
const newParent = this.guild.channels.resolve(data.parentID);
346+
if (newParent && newParent.type === 'category') {
347+
permission_overwrites = newParent.permissionOverwrites.map(o => PermissionOverwrites.resolve(o, this.guild));
348+
}
349+
} else if (this.parent) {
350+
permission_overwrites = this.parent.permissionOverwrites.map(o => PermissionOverwrites.resolve(o, this.guild));
351+
}
352+
}
339353

340354
const newData = await this.client.api.channels(this.id).patch({
341355
data: {

0 commit comments

Comments
 (0)