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", requestBody: "GuildUpdateSchema",
permission: "MANAGE_GUILD", permission: "MANAGE_GUILD",
responses: { responses: {
"200": { 200: {
body: "GuildUpdateSchema", body: "GuildCreateResponse",
}, },
401: { 401: {
body: "APIErrorResponse", body: "APIErrorResponse",

View File

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

View File

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

View File

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

View File

@ -16,6 +16,27 @@
along with this program. If not, see <https://www.gnu.org/licenses/>. 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; 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/>. 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 { export interface MemberJoinGuildResponse {
guild: Guild; guild: GuildCreateResponse;
emojis: Emoji[]; emojis: Emoji[];
roles: Role[]; roles: Role[];
stickers: Sticker[]; stickers: Sticker[];

View File

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