Merge pull request #1180 from DEVTomatoCake/fix/guild-create-response-schema

Trying to fix guild response schemas
This commit is contained in:
Madeline 2024-08-22 14:00:37 +10:00 committed by GitHub
commit f00a31540e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 48 additions and 28 deletions

Binary file not shown.

Binary file not shown.

View File

@ -77,8 +77,8 @@ router.patch(
requestBody: "GuildUpdateSchema",
permission: "MANAGE_GUILD",
responses: {
"200": {
body: "GuildUpdateSchema",
200: {
body: "GuildCreateResponse",
},
401: {
body: "APIErrorResponse",

View File

@ -28,7 +28,6 @@ import {
Role,
Emoji,
PublicMember,
Guild,
Channel,
PublicUser,
User,
@ -43,6 +42,7 @@ import {
ReadyUserGuildSettingsEntries,
ReadyPrivateChannel,
GuildOrUnavailable,
GuildCreateResponse,
} from "@spacebar/util";
export interface Event {
@ -195,7 +195,7 @@ export interface GuildCreateEvent extends Event {
export interface GuildUpdateEvent extends Event {
event: "GUILD_UPDATE";
data: Guild;
data: GuildCreateResponse;
}
export interface GuildDeleteEvent extends Event {

View File

@ -26,7 +26,6 @@ export interface GuildCreateSchema {
region?: string;
icon?: string | null;
channels?: ChannelModifySchema[];
guild_template_code?: string;
system_channel_id?: string;
rules_channel_id?: string;
}

View File

@ -18,9 +18,7 @@
import { GuildCreateSchema } from "@spacebar/util";
export interface GuildUpdateSchema
extends Omit<GuildCreateSchema, "channels" | "name"> {
name?: string;
export interface GuildUpdateSchema extends Omit<GuildCreateSchema, "channels"> {
banner?: string | null;
splash?: string | null;
description?: string;

View File

@ -16,6 +16,27 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
export interface GuildCreateResponse {
import { GuildUpdateSchema, GuildWelcomeScreen } from "@spacebar/util";
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;
welcome_screen: GuildWelcomeScreen;
widget_channel_id: string | undefined;
widget_enabled: boolean;
nsfw_level: number | undefined;
nsfw: boolean;
parent: string | undefined;
}

View File

@ -16,10 +16,11 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import { Emoji, Guild, Role, Sticker } from "../../entities";
import { GuildCreateResponse } from "@spacebar/util";
import { Emoji, Role, Sticker } from "../../entities";
export interface MemberJoinGuildResponse {
guild: Guild;
guild: GuildCreateResponse;
emojis: Emoji[];
roles: Role[];
stickers: Sticker[];

View File

@ -16,6 +16,7 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import { GuildCreateResponse } from "@spacebar/util";
import { GeneralConfiguration, LimitsConfiguration } from "../../config";
import { DmChannelDTO } from "../../dtos";
import {
@ -89,7 +90,7 @@ export type APIEmojiArray = Emoji[];
export type APIMemberArray = Member[];
export type APIPublicMember = PublicMember;
export interface APIGuildWithJoinedAt extends Guild {
export interface APIGuildWithJoinedAt extends GuildCreateResponse {
joined_at: string;
}