From eb230ea26f6bf56d09e54b2bd21de96d674ae492 Mon Sep 17 00:00:00 2001 From: ITOH <72305210+itohatweb@users.noreply.github.com> Date: Sun, 18 Apr 2021 21:25:44 +0200 Subject: [PATCH] Create edit_discovery.ts --- src/helpers/discovery/edit_discovery.ts | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/helpers/discovery/edit_discovery.ts diff --git a/src/helpers/discovery/edit_discovery.ts b/src/helpers/discovery/edit_discovery.ts new file mode 100644 index 000000000..8c8c16d1b --- /dev/null +++ b/src/helpers/discovery/edit_discovery.ts @@ -0,0 +1,28 @@ +import { rest } from "../../rest/rest.ts"; +import { + DiscordDiscoveryMetadata, + DiscoveryMetadata, +} from "../../types/discovery/discovery_metadata.ts"; +import { ModifyGuildDiscoveryMetadata } from "../../types/discovery/modify_guild_discovery_metadata.ts"; +import { endpoints } from "../../util/constants.ts"; +import { requireBotGuildPermissions } from "../../util/permissions.ts"; +import { + camelKeysToSnakeCase, + snakeKeysToCamelCase, +} from "../../util/utils.ts"; + +/** Modify the discovery metadata for the guild. Requires the MANAGE_GUILD permission. Returns the updated discovery metadata object on success. */ +export async function editDiscovery( + guildId: string, + data: ModifyGuildDiscoveryMetadata, +) { + await requireBotGuildPermissions(guildId, ["MANAGE_GUILD"]); + + const result = await rest.runMethod( + "patch", + endpoints.DISCOVERY_MODIFY(guildId), + camelKeysToSnakeCase(data), + ); + + return snakeKeysToCamelCase(result); +}