From 95fa10b3d0649cfb1a57892b202bb8dc1b81a0c3 Mon Sep 17 00:00:00 2001 From: Rory& Date: Sun, 8 Mar 2026 16:16:20 +0100 Subject: [PATCH] Migrate GuildUpdate to satisfies, part of #1577 --- src/api/routes/guilds/#guild_id/index.ts | 28 +++++++++++++++++--- src/schemas/responses/GuildCreateResponse.ts | 28 +++++++++----------- 2 files changed, 37 insertions(+), 19 deletions(-) diff --git a/src/api/routes/guilds/#guild_id/index.ts b/src/api/routes/guilds/#guild_id/index.ts index 2bfa9c878..1bf30e9de 100644 --- a/src/api/routes/guilds/#guild_id/index.ts +++ b/src/api/routes/guilds/#guild_id/index.ts @@ -17,10 +17,23 @@ */ import { route } from "@spacebar/api"; -import { Channel, DiscordApiErrors, Guild, GuildUpdateEvent, Member, Permissions, SpacebarApiErrors, emitEvent, getPermission, getRights, handleFile } from "@spacebar/util"; +import { + Channel, + DiscordApiErrors, + Guild, + GuildUpdateEvent, + Member, + Permissions, + SpacebarApiErrors, + emitEvent, + getPermission, + getRights, + handleFile, + Config, +} from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server"; -import { GuildUpdateSchema } from "@spacebar/schemas"; +import { GuildCreateResponse, GuildUpdateSchema } from "@spacebar/schemas"; const router = Router({ mergeParams: true }); @@ -200,9 +213,16 @@ router.patch( guild.save(), emitEvent({ event: "GUILD_UPDATE", - data, + data: { + ...data, + // TODO: did i do this right? + afk_channel_id: data.afk_channel_id ?? undefined, + public_updates_channel_id: data.public_updates_channel_id ?? undefined, + rules_channel_id: data.rules_channel_id ?? undefined, + system_channel_id: data.system_channel_id ?? undefined, + } satisfies GuildCreateResponse, // apparently we dont have a separate schema for this guild_id, - } as GuildUpdateEvent), + } satisfies GuildUpdateEvent), ]); return res.json(data); diff --git a/src/schemas/responses/GuildCreateResponse.ts b/src/schemas/responses/GuildCreateResponse.ts index faf700824..0fef3843b 100644 --- a/src/schemas/responses/GuildCreateResponse.ts +++ b/src/schemas/responses/GuildCreateResponse.ts @@ -22,22 +22,20 @@ import { GuildUpdateSchema } from "@spacebar/schemas"; export interface GuildCreateResponse extends Omit { id: string; name: string; - primary_category_id: string | undefined; - large: boolean | undefined; - max_members: number | undefined; - max_presences: number | undefined; - max_video_channel_users: number | undefined; - member_count: number | undefined; - presence_count: number | undefined; - template_id: string | undefined; - mfa_level: number | undefined; - owner_id: string | undefined; - premium_subscription_count: number | undefined; - premium_tier: number | undefined; + large?: boolean; + max_members?: number; + max_presences?: number; + max_video_channel_users?: number; + member_count?: number; + presence_count?: number; + mfa_level?: number; + owner_id?: string; + premium_subscription_count?: number; + premium_tier?: number; welcome_screen: GuildWelcomeScreen; - widget_channel_id: string | undefined; + widget_channel_id?: string; widget_enabled: boolean; - nsfw_level: number | undefined; + nsfw_level?: number; nsfw: boolean; - parent: string | undefined; + parent?: string; }