From 5a20d010020c2f3a96f4015a39824bb1285e8551 Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Mon, 12 Apr 2021 18:30:27 +0000 Subject: [PATCH 1/3] fix: template typings --- src/helpers/templates/create_guild_from_template.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/helpers/templates/create_guild_from_template.ts b/src/helpers/templates/create_guild_from_template.ts index b5be5037e..92399604c 100644 --- a/src/helpers/templates/create_guild_from_template.ts +++ b/src/helpers/templates/create_guild_from_template.ts @@ -1,7 +1,9 @@ import { cacheHandlers } from "../../cache.ts"; import { rest } from "../../rest/rest.ts"; +import { Guild } from "../../types/guilds/guild.ts"; +import { CreateGuildFromTemplate } from "../../types/templates/create_guild_from_template.ts"; import { endpoints } from "../../util/constants.ts"; -import { urlToBase64 } from "../../util/utils.ts"; +import { snakeKeysToCamelCase, urlToBase64 } from "../../util/utils.ts"; /** * Create a new guild based on a template @@ -27,5 +29,5 @@ export async function createGuildFromTemplate( data, ); - return result as CreateGuildPayload; + return snakeKeysToCamelCase(result); } From 79a0c7ae95b2843a853af20963580ca9957ca149 Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Mon, 12 Apr 2021 18:32:15 +0000 Subject: [PATCH 2/3] fix: typings for templates --- src/helpers/templates/create_guild_template.ts | 4 ++-- src/helpers/templates/edit_guild_template.ts | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/helpers/templates/create_guild_template.ts b/src/helpers/templates/create_guild_template.ts index aafd4970d..bcb02f290 100644 --- a/src/helpers/templates/create_guild_template.ts +++ b/src/helpers/templates/create_guild_template.ts @@ -1,6 +1,6 @@ import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; -import { DiscordTemplate } from "../../types/templates/template.ts"; +import { DiscordTemplate, Template } from "../../types/templates/template.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; @@ -12,7 +12,7 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts"; */ export async function createGuildTemplate( guildId: string, - data: CreateGuildTemplate, + data: Template, ) { await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); diff --git a/src/helpers/templates/edit_guild_template.ts b/src/helpers/templates/edit_guild_template.ts index 7ff88fabe..b1a82a0a3 100644 --- a/src/helpers/templates/edit_guild_template.ts +++ b/src/helpers/templates/edit_guild_template.ts @@ -1,5 +1,6 @@ import { rest } from "../../rest/rest.ts"; import { structures } from "../../structures/mod.ts"; +import { ModifyGuildTemplate } from "../../types/templates/modify_guild_template.ts"; import { DiscordTemplate } from "../../types/templates/template.ts"; import { endpoints } from "../../util/constants.ts"; import { requireBotGuildPermissions } from "../../util/permissions.ts"; @@ -11,7 +12,7 @@ import { requireBotGuildPermissions } from "../../util/permissions.ts"; export async function editGuildTemplate( guildId: string, templateCode: string, - data: EditGuildTemplate, + data: ModifyGuildTemplate, ) { await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); From a741e721f3ef17e89b08d7b733315274a38a8357 Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Mon, 12 Apr 2021 18:35:24 +0000 Subject: [PATCH 3/3] fix: more missing typings and remove swap roles --- src/helpers/messages/get_reactions.ts | 3 +- src/helpers/mod.ts | 3 -- src/helpers/roles/swap_roles.ts | 16 ---------- tests/mod.ts | 1 - tests/roles/swap_roles.ts | 45 --------------------------- 5 files changed, 2 insertions(+), 66 deletions(-) delete mode 100644 src/helpers/roles/swap_roles.ts delete mode 100644 tests/roles/swap_roles.ts diff --git a/src/helpers/messages/get_reactions.ts b/src/helpers/messages/get_reactions.ts index 0f9ae95e4..0228abd2b 100644 --- a/src/helpers/messages/get_reactions.ts +++ b/src/helpers/messages/get_reactions.ts @@ -1,4 +1,5 @@ import { rest } from "../../rest/rest.ts"; +import { DiscordUser } from "../../types/users/user.ts"; import { Collection } from "../../util/collection.ts"; import { endpoints } from "../../util/constants.ts"; @@ -13,7 +14,7 @@ export async function getReactions( "get", endpoints.CHANNEL_MESSAGE_REACTION(channelId, messageId, reaction), options, - )) as UserPayload[]; + )) as DiscordUser[]; return new Collection(users.map((user) => [user.id, user])); } diff --git a/src/helpers/mod.ts b/src/helpers/mod.ts index dfde38982..257a4d950 100644 --- a/src/helpers/mod.ts +++ b/src/helpers/mod.ts @@ -96,7 +96,6 @@ import { deleteRole } from "./roles/delete_role.ts"; import { editRole } from "./roles/edit_role.ts"; import { getRoles } from "./roles/get_roles.ts"; import { removeRole } from "./roles/remove_role.ts"; -import { swapRoles } from "./roles/swap_roles.ts"; import { createGuildFromTemplate } from "./templates/create_guild_from_template.ts"; import { createGuildTemplate } from "./templates/create_guild_template.ts"; import { deleteGuildTemplate } from "./templates/delete_guild_template.ts"; @@ -230,7 +229,6 @@ export { sendMessage, startTyping, swapChannels, - swapRoles, syncGuildTemplate, syncIntegration, unban, @@ -350,7 +348,6 @@ export let helpers = { editRole, getRoles, removeRole, - swapRoles, // templates createGuildFromTemplate, createGuildTemplate, diff --git a/src/helpers/roles/swap_roles.ts b/src/helpers/roles/swap_roles.ts deleted file mode 100644 index b3c24e8ab..000000000 --- a/src/helpers/roles/swap_roles.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { rest } from "../../rest/rest.ts"; -import { endpoints } from "../../util/constants.ts"; -import { requireBotGuildPermissions } from "../../util/permissions.ts"; - -/** Modify the positions of a set of role objects for the guild. Requires the MANAGE_ROLES permission. */ -export async function swapRoles(guildId: string, rolePositions: PositionSwap) { - await requireBotGuildPermissions(guildId, ["MANAGE_ROLES"]); - - const result = await rest.runMethod( - "patch", - endpoints.GUILD_ROLES(guildId), - rolePositions, - ); - - return result; -} diff --git a/tests/mod.ts b/tests/mod.ts index 5473b28da..98439366e 100644 --- a/tests/mod.ts +++ b/tests/mod.ts @@ -47,7 +47,6 @@ import "./roles/create_role.ts"; import "./roles/delete_role.ts"; import "./roles/edit_role.ts"; import "./roles/remove_role.ts"; -import "./roles/swap_roles.ts"; // Final cleanup import "./guilds/delete_server.ts"; diff --git a/tests/roles/swap_roles.ts b/tests/roles/swap_roles.ts deleted file mode 100644 index 9bbbff37d..000000000 --- a/tests/roles/swap_roles.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { defaultTestOptions, tempData } from "../ws/start_bot.ts"; -import {assertEquals, assertExists} from "../deps.ts"; -import { cache } from "../../src/cache.ts"; -import { delayUntil } from "../util/delay_until.ts"; -import {addRole} from "../../src/helpers/roles/add_role.ts"; -import {createRole} from "../../src/helpers/roles/create_role.ts"; -import {botId} from "../../src/bot.ts"; -import {swapRoles} from "../../src/helpers/roles/swap_roles.ts"; -import {delay} from "../../src/util/utils.ts"; - -Deno.test({ - name: "[role] swap roles", - async fn() { - const role = await createRole(tempData.guildId, { - name: "hoti", - }); - - assertExists(role); - - const secondRole = await createRole(tempData.guildId, { - name: "not hoti", - }); - - assertExists(secondRole); - - // Delay the execution by 5 seconds to allow GUILD_ROLE_CREATE event to be processed - await delayUntil(10000, () => cache.guilds.get(tempData.guildId)?.roles.has(role.id) && cache.guilds.get(tempData.guildId)?.roles.has(secondRole.id)); - - if (!cache.guilds.get(tempData.guildId)?.roles.has(role.id) || !cache.guilds.get(tempData.guildId)?.roles.has(secondRole.id)) { - throw new Error(`The role seemed to be created but it was not cached.`); - } - - const result = await swapRoles(tempData.guildId, [ - { - id: role.id, - }, - { - id: secondRole.id, - }, - ]); - - assertExists(result); - }, - ...defaultTestOptions, -});