From 7b34c70fb84dbc3c9c9dea179ade1cbd99e227e5 Mon Sep 17 00:00:00 2001 From: Puyodead1 Date: Wed, 29 Nov 2023 11:08:35 -0500 Subject: [PATCH] fix some issues with discord bot libs --- assets/schemas.json | Bin 18224018 -> 18304154 bytes src/api/routes/oauth2/applications/@me.ts | 59 ++++++++++++++++++++++ src/util/dtos/ReadyGuildDTO.ts | 2 +- src/util/entities/Message.ts | 1 + src/util/entities/Role.ts | 7 +++ 5 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 src/api/routes/oauth2/applications/@me.ts diff --git a/assets/schemas.json b/assets/schemas.json index e893cb9971eadb67ee9c3ad1e2bab03ff92cf542..b513ee0351a15d52f546c25d86911284b585c9bf 100644 GIT binary patch delta 27122 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 kGjHisa`. +*/ + +import { route } from "@spacebar/api"; +import { + Application, + DiscordApiErrors, + PublicUserProjection, +} from "@spacebar/util"; +import { Request, Response, Router } from "express"; + +const router: Router = Router(); + +router.get( + "/", + route({ + responses: { + 200: { + body: "Application", + }, + }, + }), + async (req: Request, res: Response) => { + const app = await Application.findOneOrFail({ + where: { id: req.params.id }, + relations: ["bot", "owner"], + select: { + owner: Object.fromEntries( + PublicUserProjection.map((x) => [x, true]), + ), + }, + }); + + if (!app.bot) throw DiscordApiErrors.BOT_ONLY_ENDPOINT; + + res.json({ + ...app, + owner: app.owner.toPublicUser(), + install_params: + app.install_params !== null ? app.install_params : undefined, + }); + }, +); +export default router; diff --git a/src/util/dtos/ReadyGuildDTO.ts b/src/util/dtos/ReadyGuildDTO.ts index 905ede74..061959a6 100644 --- a/src/util/dtos/ReadyGuildDTO.ts +++ b/src/util/dtos/ReadyGuildDTO.ts @@ -229,7 +229,7 @@ export class ReadyGuildDTO implements IReadyGuildDTO { nsfw: guild.nsfw, safety_alerts_channel_id: null, }; - this.roles = guild.roles; + this.roles = guild.roles.map((x) => x.toJSON()); this.stage_instances = []; this.stickers = guild.stickers; this.threads = []; diff --git a/src/util/entities/Message.ts b/src/util/entities/Message.ts index 3598d29f..b519099a 100644 --- a/src/util/entities/Message.ts +++ b/src/util/entities/Message.ts @@ -238,6 +238,7 @@ export class Message extends BaseClass { activity: this.activity ?? undefined, application: this.application ?? undefined, components: this.components ?? undefined, + content: this.content ?? "", }; } } diff --git a/src/util/entities/Role.ts b/src/util/entities/Role.ts index e8e5feda..2783a279 100644 --- a/src/util/entities/Role.ts +++ b/src/util/entities/Role.ts @@ -69,4 +69,11 @@ export class Role extends BaseClass { @Column({ default: 0 }) flags: number; + + toJSON(): Role { + return { + ...this, + tags: this.tags ?? undefined, + }; + } }