mirror of
https://github.com/swc-project/swc.git
synced 2024-12-21 12:41:54 +03:00
d60c3242af
swc_bundler: - Fix cycle detection for complex circular imports. (denoland/deno#10752) swc_ecma_transforms_typescript: - Allow using large values for an enum variant.
23 lines
956 B
TypeScript
23 lines
956 B
TypeScript
// Loaded from https://deno.land/x/discordeno@11.0.0-rc.2/src/helpers/invites/delete_invite.ts
|
|
|
|
|
|
import { cacheHandlers } from "../../cache.ts";
|
|
import { rest } from "../../rest/rest.ts";
|
|
import type { InviteMetadata } from "../../types/invites/invite_metadata.ts";
|
|
import { endpoints } from "../../util/constants.ts";
|
|
import { botHasChannelPermissions, requireBotGuildPermissions } from "../../util/permissions.ts";
|
|
|
|
/** Deletes an invite for the given code. Requires `MANAGE_CHANNELS` or `MANAGE_GUILD` permission */
|
|
export async function deleteInvite(channelId: bigint, inviteCode: string) {
|
|
const channel = await cacheHandlers.get("channels", channelId);
|
|
if (channel) {
|
|
const hasPerm = await botHasChannelPermissions(channel, ["MANAGE_CHANNELS"]);
|
|
|
|
if (!hasPerm) {
|
|
await requireBotGuildPermissions(channel.guildId, ["MANAGE_GUILD"]);
|
|
}
|
|
}
|
|
|
|
return await rest.runMethod<InviteMetadata>("delete", endpoints.INVITE(inviteCode));
|
|
}
|