summary refs log tree commit diff
path: root/src/api
diff options
context:
space:
mode:
authorMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2024-08-31 20:03:39 +1000
committerGitHub <noreply@github.com>2024-08-31 20:03:39 +1000
commitf9ed68127297a18ab4adce9422678f2c70f41595 (patch)
tree91155d2d255a0715998817e5e357d9d3360ab1de /src/api
parentMerge pull request #1202 from DEVTomatoCake/fix/password-mfacode-schemas (diff)
parentAdd more application properties (diff)
downloadserver-ts-f9ed68127297a18ab4adce9422678f2c70f41595.tar.xz
Merge pull request #1206 from DEVTomatoCake/feat/more-application-properties
Add more application properties
Diffstat (limited to 'src/api')
-rw-r--r--src/api/routes/applications/#id/index.ts25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/api/routes/applications/#id/index.ts b/src/api/routes/applications/#id/index.ts

index 949d66f86..2b4bcd882 100644 --- a/src/api/routes/applications/#id/index.ts +++ b/src/api/routes/applications/#id/index.ts
@@ -1,17 +1,17 @@ /* Spacebar: A FOSS re-implementation and extension of the Discord.com backend. Copyright (C) 2023 Spacebar and Spacebar Contributors - + This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. - + You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. */ @@ -21,6 +21,7 @@ import { Application, ApplicationModifySchema, DiscordApiErrors, + Guild, handleFile, } from "@spacebar/util"; import { Request, Response, Router } from "express"; @@ -90,6 +91,24 @@ router.patch( body.icon as string, ); } + if (body.cover_image) { + body.cover_image = await handleFile( + `/app-icons/${app.id}`, + body.cover_image as string, + ); + } + + if (body.guild_id) { + const guild = await Guild.findOneOrFail({ + where: { id: body.guild_id }, + select: ["owner_id"], + }); + if (guild.owner_id != req.user_id) + throw new HTTPError( + "You must be the owner of the guild to link it to an application", + 400, + ); + } if (app.bot) { app.bot.assign({ bio: body.description });