This commit is contained in:
ITOH
2021-04-24 19:38:24 +02:00
parent 0c02b94143
commit 0feb6822d0
5 changed files with 14 additions and 23 deletions
+2 -3
View File
@@ -1,5 +1,6 @@
import { rest } from "../../rest/rest.ts";
import { CreateChannelInvite } from "../../types/invites/create_channel_invite.ts";
import { Invite } from "../../types/mod.ts";
import { endpoints } from "../../util/constants.ts";
import { requireBotChannelPermissions } from "../../util/permissions.ts";
@@ -12,11 +13,9 @@ export async function createInvite(
// TODO: add proper options validation
const result = await rest.runMethod(
return await rest.runMethod<Invite>(
"post",
endpoints.CHANNEL_INVITES(channelId),
options,
);
return result;
}
+2 -5
View File
@@ -1,13 +1,12 @@
import { cacheHandlers } from "../../cache.ts";
import { rest } from "../../rest/rest.ts";
import { DiscordInvite, Invite } from "../../types/invites/invite.ts";
import { Invite } from "../../types/invites/invite.ts";
import { Errors } from "../../types/misc/errors.ts";
import { endpoints } from "../../util/constants.ts";
import {
botHasChannelPermissions,
requireBotGuildPermissions,
} from "../../util/permissions.ts";
import { snakeKeysToCamelCase } from "../../util/utils.ts";
/** Deletes an invite for the given code. Requires `MANAGE_CHANNELS` or `MANAGE_GUILD` permission */
export async function deleteInvite(channelId: string, inviteCode: string) {
@@ -23,10 +22,8 @@ export async function deleteInvite(channelId: string, inviteCode: string) {
await requireBotGuildPermissions(channel!.guildId, ["MANAGE_GUILD"]);
}
const result: DiscordInvite = await rest.runMethod(
return await rest.runMethod<Invite>(
"delete",
endpoints.INVITE(inviteCode),
);
return snakeKeysToCamelCase<Invite>(result);
}
+4 -5
View File
@@ -1,20 +1,19 @@
import { rest } from "../../rest/rest.ts";
import { DiscordInvite, Invite } from "../../types/invites/invite.ts";
import { Invite } from "../../types/invites/invite.ts";
import { Collection } from "../../util/collection.ts";
import { endpoints } from "../../util/constants.ts";
import { requireBotChannelPermissions } from "../../util/permissions.ts";
import { snakeKeysToCamelCase } from "../../util/utils.ts";
/** Gets the invites for this channel. Requires MANAGE_CHANNEL */
export async function getChannelInvites(channelId: string) {
await requireBotChannelPermissions(channelId, ["MANAGE_CHANNELS"]);
const result = (await rest.runMethod(
const result = await rest.runMethod<Invite[]>(
"get",
endpoints.CHANNEL_INVITES(channelId),
)) as DiscordInvite[];
);
return new Collection(
result.map((invite) => [invite.code, snakeKeysToCamelCase<Invite>(invite)]),
result.map((invite) => [invite.code, invite]),
);
}
+2 -5
View File
@@ -1,14 +1,11 @@
import { rest } from "../../rest/rest.ts";
import { DiscordInvite, Invite } from "../../types/invites/invite.ts";
import { Invite } from "../../types/invites/invite.ts";
import { endpoints } from "../../util/constants.ts";
import { snakeKeysToCamelCase } from "../../util/utils.ts";
/** Returns an invite for the given code or throws an error if the invite doesn't exists. */
export async function getInvite(inviteCode: string) {
const result: DiscordInvite = await rest.runMethod(
return await rest.runMethod<Invite>(
"get",
endpoints.INVITE(inviteCode),
);
return snakeKeysToCamelCase<Invite>(result);
}
+4 -5
View File
@@ -1,20 +1,19 @@
import { rest } from "../../rest/rest.ts";
import { DiscordInvite, Invite } from "../../types/invites/invite.ts";
import { Invite } from "../../types/invites/invite.ts";
import { Collection } from "../../util/collection.ts";
import { endpoints } from "../../util/constants.ts";
import { requireBotGuildPermissions } from "../../util/permissions.ts";
import { snakeKeysToCamelCase } from "../../util/utils.ts";
/** Get all the invites for this guild. Requires MANAGE_GUILD permission */
export async function getInvites(guildId: string) {
await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]);
const result = (await rest.runMethod(
const result = await rest.runMethod<Invite[]>(
"get",
endpoints.GUILD_INVITES(guildId),
)) as DiscordInvite[];
);
return new Collection(
result.map((invite) => [invite.code, snakeKeysToCamelCase<Invite>(invite)]),
result.map((invite) => [invite.code, invite]),
);
}