diff --git a/assets/openapi.json b/assets/openapi.json index c1df064..3145285 100644 --- a/assets/openapi.json +++ b/assets/openapi.json @@ -7267,6 +7267,50 @@ "video_ssrc" ] }, + "EmojisResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EmojiResponse" + } + }, + "EmojiResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "roles": { + "type": "array", + "items": { + "type": "string" + } + }, + "user": { + "$ref": "#/components/schemas/PartialUser" + }, + "require_colons": { + "type": "boolean" + }, + "managed": { + "type": "boolean" + }, + "animated": { + "type": "boolean" + }, + "available": { + "type": "boolean" + } + }, + "required": [ + "id", + "name" + ] + }, "CreateReportSchema": { "type": "object", "properties": { @@ -21643,7 +21687,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIEmojiArray" + "$ref": "#/components/schemas/EmojisResponse" } } } diff --git a/assets/schemas.json b/assets/schemas.json index a3fe6de..6c62132 100644 --- a/assets/schemas.json +++ b/assets/schemas.json @@ -7725,6 +7725,57 @@ ], "$schema": "http://json-schema.org/draft-07/schema#" }, + "EmojisResponse": { + "type": "array", + "items": { + "$ref": "#/definitions/EmojiResponse" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "EmojiResponse": { + "type": "object", + "properties": { + "id": { + "type": [ + "null", + "string" + ] + }, + "name": { + "type": [ + "null", + "string" + ] + }, + "roles": { + "type": "array", + "items": { + "type": "string" + } + }, + "user": { + "$ref": "#/definitions/PartialUser" + }, + "require_colons": { + "type": "boolean" + }, + "managed": { + "type": "boolean" + }, + "animated": { + "type": "boolean" + }, + "available": { + "type": "boolean" + } + }, + "additionalProperties": false, + "required": [ + "id", + "name" + ], + "$schema": "http://json-schema.org/draft-07/schema#" + }, "CreateReportSchema": { "type": "object", "properties": { diff --git "a/src/api/routes/guilds/\043guild_id/emojis.ts" "b/src/api/routes/guilds/\043guild_id/emojis.ts" index 321331f..a08ed1a 100644 --- "a/src/api/routes/guilds/\043guild_id/emojis.ts" +++ "b/src/api/routes/guilds/\043guild_id/emojis.ts" @@ -28,7 +28,7 @@ route({ responses: { 200: { - body: "APIEmojiArray", + body: "EmojisResponse", }, 403: { body: "APIErrorResponse", diff --git a/src/schemas/api/guilds/Emoji.ts b/src/schemas/api/guilds/Emoji.ts new file mode 100644 index 0000000..6543fda --- /dev/null +++ b/src/schemas/api/guilds/Emoji.ts @@ -0,0 +1,17 @@ +import { Snowflake } from "../../Identifiers"; +import { PartialUser } from "../users"; + +export type EmojisResponse = EmojiResponse[]; + +// why is almost everything optional? +export interface EmojiResponse { + id: Snowflake | null; + // null only when deleted + name: string | null; + roles?: Snowflake[]; + user?: PartialUser; + require_colons?: boolean; + managed?: boolean; + animated?: boolean; + available?: boolean; +}