summary refs log tree commit diff
path: root/api/src
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2022-04-22 18:12:18 +0200
committerGitHub <noreply@github.com>2022-04-22 18:12:18 +0200
commit3491d01dca9917a9860ee77163fbed4ea6ef3d94 (patch)
tree9eabeea3b7bc6138365f642578ffbbb9c87b3c80 /api/src
parentUpdate UserGroup.ts (diff)
parentFix not assigning new changes to input fields in users/@me (diff)
downloadserver-3491d01dca9917a9860ee77163fbed4ea6ef3d94.tar.xz
Merge pull request #734 from MaddyUnderStars/fix/sanitisation
Fix users arbitrarily editing their own User object, and disallow sending messages to certain channels ( eg categories )
Diffstat (limited to 'api/src')
-rw-r--r--api/src/routes/channels/#channel_id/messages/index.ts5
-rw-r--r--api/src/routes/users/@me/index.ts3
2 files changed, 6 insertions, 2 deletions
diff --git a/api/src/routes/channels/#channel_id/messages/index.ts b/api/src/routes/channels/#channel_id/messages/index.ts

index af0ae32d..34cc5ff8 100644 --- a/api/src/routes/channels/#channel_id/messages/index.ts +++ b/api/src/routes/channels/#channel_id/messages/index.ts
@@ -183,6 +183,9 @@ router.post( } } const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients", "recipients.user"] }); + if (!channel.isWritable()) { + throw new HTTPError(`Cannot send messages to channel of type ${channel.type}`, 400) + } const embeds = body.embeds || []; if (body.embed) embeds.push(body.embed); @@ -220,6 +223,8 @@ router.post( }) ); } + + //Fix for the client bug delete message.member diff --git a/api/src/routes/users/@me/index.ts b/api/src/routes/users/@me/index.ts
index d32b44f9..1af413c4 100644 --- a/api/src/routes/users/@me/index.ts +++ b/api/src/routes/users/@me/index.ts
@@ -46,8 +46,6 @@ router.patch("/", route({ body: "UserModifySchema" }), async (req: Request, res: } } - user.assign(body); - if (body.new_password) { if (!body.password && !user.email) { throw FieldErrors({ @@ -66,6 +64,7 @@ router.patch("/", route({ body: "UserModifySchema" }), async (req: Request, res: } } + user.assign(body); await user.save(); // @ts-ignore