diff --git a/src/api/routes/guilds/#guild_id/index.ts b/src/api/routes/guilds/#guild_id/index.ts
index 2bfa9c87..1bf30e9d 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 faf70082..0fef3843 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<GuildUpdateSchema, "name"> {
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;
}
|