mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-16 03:18:17 +00:00
21 lines
736 B
TypeScript
21 lines
736 B
TypeScript
import { cacheHandlers } from "../../cache.ts";
|
|
|
|
/** Checks whether a channel is synchronized with its parent/category channel or not. */
|
|
export async function isChannelSynced(channelId: bigint) {
|
|
const channel = await cacheHandlers.get("channels", channelId);
|
|
if (!channel?.parentId) return false;
|
|
|
|
const parentChannel = await cacheHandlers.get("channels", channel.parentId);
|
|
if (!parentChannel) return false;
|
|
|
|
return channel.permissionOverwrites?.every((overwrite) => {
|
|
const permission = parentChannel.permissionOverwrites?.find(
|
|
(ow) => ow.id === overwrite.id
|
|
);
|
|
if (!permission) return false;
|
|
return !(
|
|
overwrite.allow !== permission.allow || overwrite.deny !== permission.deny
|
|
);
|
|
});
|
|
}
|