New PermissionOverwrite interface

This commit is contained in:
ayyanm
2020-10-29 12:19:57 -07:00
parent b1903b1d8c
commit 4e39f327a5
2 changed files with 15 additions and 7 deletions

View File

@@ -1,5 +1,6 @@
import { cacheHandlers } from "../controllers/cache.ts";
import { ChannelCreatePayload } from "../types/channel.ts";
import { PermissionOverwrite } from "../types/guild.ts";
import { Unpromise } from "../types/misc.ts";
import { calculatePermissions } from "../utils/permissions.ts";
@@ -33,13 +34,14 @@ export async function createChannel(
/** The last time when a message was pinned in this channel */
lastPinTimestamp,
/** The permission overwrites for this channel */
permissionOverwrites: data.permission_overwrites
? data.permission_overwrites.map((perm) => ({
...perm,
allow: calculatePermissions(BigInt(perm.allow)),
deny: calculatePermissions(BigInt(perm.deny)),
}))
: [],
permissionOverwrites:
(data.permission_overwrites
? data.permission_overwrites.map((perm) => ({
...perm,
allow: calculatePermissions(BigInt(perm.allow)),
deny: calculatePermissions(BigInt(perm.deny)),
}))
: []) as PermissionOverwrite[],
/** Whether this channel is nsfw or not */
nsfw: data.nsfw || false,
/** The mention of the channel */

View File

@@ -473,6 +473,12 @@ export interface RawOverwrite {
deny: number;
}
export interface PermissionOverwrite
extends Omit<RawOverwrite, "allow" | "deny"> {
allow: Permission[];
deny: Permission[];
}
export interface ChannelCreateOptions {
/** The type of the channel */
type?: ChannelTypes;