diff --git a/assets/openapi.json b/assets/openapi.json index 3145285..3b1d802 100644 --- a/assets/openapi.json +++ b/assets/openapi.json @@ -1606,6 +1606,12 @@ ] }, "GuildBansResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GuildBanResponse" + } + }, + "GuildBanResponse": { "type": "object", "properties": { "reason": { @@ -3118,12 +3124,6 @@ "$ref": "#/components/schemas/Application" } }, - "APIBansArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GuildBansResponse" - } - }, "APIInviteArray": { "type": "array", "items": { @@ -22278,7 +22278,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIBansArray" + "$ref": "#/components/schemas/GuildBansResponse" } } } @@ -22324,7 +22324,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/APIBansArray" + "$ref": "#/components/schemas/GuildBansResponse" } } } @@ -22388,7 +22388,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GuildBansResponse" + "$ref": "#/components/schemas/GuildBanResponse" } } } diff --git a/assets/schemas.json b/assets/schemas.json index 6c62132..0369e04 100644 --- a/assets/schemas.json +++ b/assets/schemas.json @@ -1666,6 +1666,13 @@ "$schema": "http://json-schema.org/draft-07/schema#" }, "GuildBansResponse": { + "type": "array", + "items": { + "$ref": "#/definitions/GuildBanResponse" + }, + "$schema": "http://json-schema.org/draft-07/schema#" + }, + "GuildBanResponse": { "type": "object", "properties": { "reason": { @@ -3270,13 +3277,6 @@ }, "$schema": "http://json-schema.org/draft-07/schema#" }, - "APIBansArray": { - "type": "array", - "items": { - "$ref": "#/definitions/GuildBansResponse" - }, - "$schema": "http://json-schema.org/draft-07/schema#" - }, "APIInviteArray": { "type": "array", "items": { diff --git "a/src/api/routes/guilds/\043guild_id/bans.ts" "b/src/api/routes/guilds/\043guild_id/bans.ts" index 6fa34d3..7ca584f 100644 --- "a/src/api/routes/guilds/\043guild_id/bans.ts" +++ "b/src/api/routes/guilds/\043guild_id/bans.ts" @@ -20,7 +20,7 @@ import { Ban, DiscordApiErrors, GuildBanAddEvent, GuildBanRemoveEvent, Member, User, emitEvent } from "@spacebar/util"; import { Request, Response, Router } from "express"; import { HTTPError } from "lambert-server"; -import { APIBansArray, BanCreateSchema, BanRegistrySchema, GuildBansResponse, PublicUser } from "@spacebar/schemas"; +import { BanCreateSchema, BanRegistrySchema, GuildBanResponse, GuildBansResponse, PublicUser } from "@spacebar/schemas"; const router: Router = Router({ mergeParams: true }); @@ -32,7 +32,7 @@ permission: "BAN_MEMBERS", responses: { 200: { - body: "APIBansArray", + body: "GuildBansResponse", }, 403: { body: "APIErrorResponse", @@ -44,7 +44,7 @@ let bans = await Ban.find({ where: { guild_id: guild_id } }); const promisesToAwait: Promise[] = []; - const bansObj: APIBansArray = []; + const bansObj: GuildBansResponse = []; bans = bans.filter((ban) => ban.user_id !== ban.executor_id); // pretend self-bans don't exist to prevent victim chasing @@ -90,7 +90,7 @@ }, responses: { 200: { - body: "APIBansArray", + body: "GuildBansResponse", }, 403: { body: "APIErrorResponse", @@ -119,7 +119,7 @@ bans = bans.filter((ban) => ban.user_id !== ban.executor_id); // pretend self-bans don't exist to prevent victim chasing - const bansObj: APIBansArray = bans.map((ban) => { + const bansObj: GuildBansResponse = bans.map((ban) => { const user = ban.user; return { reason: ban.reason ?? null, @@ -143,7 +143,7 @@ permission: "BAN_MEMBERS", responses: { 200: { - body: "GuildBansResponse", + body: "GuildBanResponse", }, 403: { body: "APIErrorResponse", @@ -165,7 +165,7 @@ const user = await User.getPublicUser(ban.user_id); - const banInfo: GuildBansResponse = { + const banInfo: GuildBanResponse = { user: { username: user.username, discriminator: user.discriminator, diff --git a/src/schemas/responses/GuildBansResponse.ts b/src/schemas/responses/GuildBansResponse.ts index 5e3c3ed..7608abc 100644 --- a/src/schemas/responses/GuildBansResponse.ts +++ b/src/schemas/responses/GuildBansResponse.ts @@ -16,7 +16,9 @@ along with this program. If not, see . */ -export interface GuildBansResponse { +export type GuildBansResponse = GuildBanResponse[]; + +export interface GuildBanResponse { reason: string | null; user: { username: string; diff --git a/src/schemas/responses/TypedResponses.ts b/src/schemas/responses/TypedResponses.ts index 9d5d612..4ce2753 100644 --- a/src/schemas/responses/TypedResponses.ts +++ b/src/schemas/responses/TypedResponses.ts @@ -39,7 +39,6 @@ export type ApplicationEntitlementsResponse = unknown[]; export type ApplicationSkusResponse = unknown[]; export type APIApplicationArray = Application[]; -export type APIBansArray = GuildBansResponse[]; export type APIInviteArray = Invite[]; export type APIMessageArray = Message[]; export type APIWebhookArray = Webhook[];