Trying to fix guild response schemas

This commit is contained in:
TomatoCake 2024-08-17 19:15:32 +02:00
parent bb31df036a
commit ff48d078e4
9 changed files with 95019 additions and 7829 deletions

View File

@ -3892,6 +3892,138 @@
"description": "A container for useful snowflake-related methods.",
"type": "object"
},
"GuildCreateResponse": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"primary_category_id": {
"type": "string"
},
"large": {
"type": "boolean"
},
"max_members": {
"type": "integer"
},
"max_presences": {
"type": "integer"
},
"max_video_channel_users": {
"type": "integer"
},
"member_count": {
"type": "integer"
},
"presence_count": {
"type": "integer"
},
"template_id": {
"type": "string"
},
"mfa_level": {
"type": "integer"
},
"owner_id": {
"type": "string"
},
"premium_subscription_count": {
"type": "integer"
},
"premium_tier": {
"type": "integer"
},
"welcome_screen": {
"$ref": "#/components/schemas/GuildWelcomeScreen"
},
"widget_channel_id": {
"type": "string"
},
"widget_enabled": {
"type": "boolean"
},
"nsfw_level": {
"type": "integer"
},
"nsfw": {
"type": "boolean"
},
"parent": {
"type": "string"
},
"icon": {
"type": "string",
"nullable": true
},
"banner": {
"type": "string",
"nullable": true
},
"description": {
"type": "string"
},
"region": {
"type": "string"
},
"system_channel_id": {
"type": "string"
},
"rules_channel_id": {
"type": "string"
},
"afk_timeout": {
"type": "integer"
},
"explicit_content_filter": {
"type": "integer"
},
"splash": {
"type": "string",
"nullable": true
},
"features": {
"type": "array",
"items": {
"type": "string"
}
},
"verification_level": {
"type": "integer"
},
"default_message_notifications": {
"type": "integer"
},
"system_channel_flags": {
"type": "integer"
},
"public_updates_channel_id": {
"type": "string"
},
"afk_channel_id": {
"type": "string"
},
"preferred_locale": {
"type": "string"
},
"premium_progress_bar_enabled": {
"type": "boolean"
},
"discovery_splash": {
"type": "string"
}
},
"required": [
"id",
"name",
"nsfw",
"welcome_screen",
"widget_enabled"
]
},
"TenorGifResponse": {
"type": "object",
"properties": {
@ -4075,19 +4207,7 @@
"explicit_content_filter": {
"type": "integer"
},
"afk_channel_id": {
"type": "string"
},
"bans": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Ban"
}
},
"default_message_notifications": {
"type": "integer"
},
"discovery_splash": {
"splash": {
"type": "string"
},
"features": {
@ -4096,6 +4216,36 @@
"type": "string"
}
},
"verification_level": {
"type": "integer"
},
"default_message_notifications": {
"type": "integer"
},
"system_channel_flags": {
"type": "integer"
},
"public_updates_channel_id": {
"type": "string"
},
"afk_channel_id": {
"type": "string"
},
"preferred_locale": {
"type": "string"
},
"premium_progress_bar_enabled": {
"type": "boolean"
},
"discovery_splash": {
"type": "string"
},
"bans": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Ban"
}
},
"primary_category_id": {
"type": "string"
},
@ -4141,27 +4291,12 @@
"mfa_level": {
"type": "integer"
},
"preferred_locale": {
"type": "string"
},
"premium_subscription_count": {
"type": "integer"
},
"premium_tier": {
"type": "integer"
},
"public_updates_channel_id": {
"type": "string"
},
"splash": {
"type": "string"
},
"system_channel_flags": {
"type": "integer"
},
"verification_level": {
"type": "integer"
},
"welcome_screen": {
"$ref": "#/components/schemas/GuildWelcomeScreen"
},
@ -4177,9 +4312,6 @@
"permissions": {
"type": "integer"
},
"premium_progress_bar_enabled": {
"type": "boolean"
},
"channel_ordering": {
"type": "array",
"items": {
@ -5340,9 +5472,6 @@
"$ref": "#/components/schemas/ChannelModifySchema"
}
},
"guild_template_code": {
"type": "string"
},
"system_channel_id": {
"type": "string"
},
@ -5369,9 +5498,6 @@
"GuildUpdateSchema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"banner": {
"type": "string",
"nullable": true
@ -5419,6 +5545,10 @@
"discovery_splash": {
"type": "string"
},
"name": {
"maxLength": 100,
"type": "string"
},
"icon": {
"type": "string",
"nullable": true
@ -5426,9 +5556,6 @@
"region": {
"type": "string"
},
"guild_template_code": {
"type": "string"
},
"system_channel_id": {
"type": "string"
},
@ -6262,7 +6389,21 @@
"type": "object",
"properties": {
"guild_id": {
"anyOf": [
{
"type": "array",
"items": [
{
"type": "string"
}
],
"minItems": 1,
"maxItems": 1
},
{
"type": "string"
}
]
},
"query": {
"type": "string"
@ -7297,17 +7438,6 @@
"user"
]
},
"GuildCreateResponse": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
]
},
"GuildDiscoveryRequirementsResponse": {
"type": "object",
"properties": {
@ -7761,7 +7891,7 @@
"type": "object",
"properties": {
"guild": {
"$ref": "#/components/schemas/Guild"
"$ref": "#/components/schemas/GuildCreateResponse"
},
"emojis": {
"type": "array",
@ -8289,52 +8419,17 @@
"joined_at": {
"type": "string"
},
"afk_channel_id": {
"id": {
"type": "string"
},
"afk_channel": {
"$ref": "#/components/schemas/Channel"
},
"afk_timeout": {
"type": "integer"
},
"bans": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Ban"
}
},
"banner": {
"name": {
"type": "string"
},
"default_message_notifications": {
"type": "integer"
},
"description": {
"type": "string"
},
"discovery_splash": {
"type": "string"
},
"explicit_content_filter": {
"type": "integer"
},
"features": {
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"primary_category_id": {
"type": "string"
},
"icon": {
"type": "string"
},
"large": {
"type": "boolean",
"default": false
"type": "boolean"
},
"max_members": {
"type": "integer"
@ -8351,175 +8446,105 @@
"presence_count": {
"type": "integer"
},
"members": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Member"
}
},
"roles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Role"
}
},
"channels": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Channel"
}
},
"template_id": {
"type": "string"
},
"template": {
"$ref": "#/components/schemas/Template"
},
"emojis": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Emoji"
}
},
"stickers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sticker"
}
},
"invites": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Invite"
}
},
"voice_states": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VoiceState"
}
},
"webhooks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Webhook"
}
},
"mfa_level": {
"type": "integer"
},
"name": {
"type": "string"
},
"owner_id": {
"type": "string"
},
"owner": {
"$ref": "#/components/schemas/User"
},
"preferred_locale": {
"type": "string"
},
"premium_subscription_count": {
"type": "integer"
},
"premium_tier": {
"type": "integer"
},
"public_updates_channel_id": {
"type": "string"
},
"public_updates_channel": {
"$ref": "#/components/schemas/Channel"
},
"rules_channel_id": {
"type": "string"
},
"rules_channel": {
"type": "string"
},
"region": {
"type": "string"
},
"splash": {
"type": "string"
},
"system_channel_id": {
"type": "string"
},
"system_channel": {
"$ref": "#/components/schemas/Channel"
},
"system_channel_flags": {
"type": "integer"
},
"unavailable": {
"type": "boolean",
"default": false
},
"verification_level": {
"type": "integer"
},
"welcome_screen": {
"$ref": "#/components/schemas/GuildWelcomeScreen"
},
"widget_channel_id": {
"type": "string"
},
"widget_channel": {
"$ref": "#/components/schemas/Channel"
},
"widget_enabled": {
"type": "boolean",
"default": true
"type": "boolean"
},
"nsfw_level": {
"type": "integer"
},
"nsfw": {
"type": "boolean",
"default": false
"type": "boolean"
},
"parent": {
"type": "string"
},
"permissions": {
"icon": {
"type": "string",
"nullable": true
},
"banner": {
"type": "string",
"nullable": true
},
"description": {
"type": "string"
},
"region": {
"type": "string"
},
"system_channel_id": {
"type": "string"
},
"rules_channel_id": {
"type": "string"
},
"afk_timeout": {
"type": "integer"
},
"premium_progress_bar_enabled": {
"type": "boolean",
"default": false
"explicit_content_filter": {
"type": "integer"
},
"channel_ordering": {
"splash": {
"type": "string",
"nullable": true
},
"features": {
"type": "array",
"items": {
"type": "string"
}
},
"id": {
"verification_level": {
"type": "integer"
},
"default_message_notifications": {
"type": "integer"
},
"system_channel_flags": {
"type": "integer"
},
"public_updates_channel_id": {
"type": "string"
},
"afk_channel_id": {
"type": "string"
},
"preferred_locale": {
"type": "string"
},
"premium_progress_bar_enabled": {
"type": "boolean"
},
"discovery_splash": {
"type": "string"
}
},
"required": [
"bans",
"channel_ordering",
"channels",
"emojis",
"features",
"id",
"invites",
"joined_at",
"members",
"name",
"nsfw",
"premium_progress_bar_enabled",
"public_updates_channel_id",
"roles",
"stickers",
"template",
"unavailable",
"voice_states",
"webhooks",
"welcome_screen",
"widget_enabled"
]
@ -14281,7 +14306,7 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GuildUpdateSchema"
"$ref": "#/components/schemas/GuildCreateResponse"
}
}
}

File diff suppressed because it is too large Load Diff

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;
}