summary refs log tree commit diff
path: root/src/api
diff options
context:
space:
mode:
authorTomatoCake <60300461+DEVTomatoCake@users.noreply.github.com>2024-08-18 09:31:54 +0200
committerTomatoCake <60300461+DEVTomatoCake@users.noreply.github.com>2024-08-18 09:31:54 +0200
commitdb38e3e3ed7d3fa33b4092fa78de559d74a6299e (patch)
tree566ab8ccb55861bb684815821ab137a87faa51c8 /src/api
parentMerge pull request #1179 from DEVTomatoCake/fix/consistent-username-length-re... (diff)
downloadserver-ts-db38e3e3ed7d3fa33b4092fa78de559d74a6299e.tar.xz
Send "pinned" as "true" in pins update event
Diffstat (limited to 'src/api')
-rw-r--r--src/api/routes/channels/#channel_id/pins.ts23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/api/routes/channels/#channel_id/pins.ts b/src/api/routes/channels/#channel_id/pins.ts

index 724ebffd4..1e1da018f 100644 --- a/src/api/routes/channels/#channel_id/pins.ts +++ b/src/api/routes/channels/#channel_id/pins.ts
@@ -1,24 +1,23 @@ /* 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/>. */ import { route } from "@spacebar/api"; import { - Channel, ChannelPinsUpdateEvent, Config, DiscordApiErrors, @@ -60,8 +59,10 @@ router.put( if (pinned_count >= maxPins) throw DiscordApiErrors.MAXIMUM_PINS.withParams(maxPins); + message.pinned = true; + await Promise.all([ - Message.update({ id: message_id }, { pinned: true }), + message.save(), emitEvent({ event: "MESSAGE_UPDATE", channel_id, @@ -98,31 +99,27 @@ router.delete( async (req: Request, res: Response) => { const { channel_id, message_id } = req.params; - const channel = await Channel.findOneOrFail({ - where: { id: channel_id }, - }); - if (channel.guild_id) req.permission?.hasThrow("MANAGE_MESSAGES"); - const message = await Message.findOneOrFail({ where: { id: message_id }, }); + + if (message.guild_id) req.permission?.hasThrow("MANAGE_MESSAGES"); + message.pinned = false; await Promise.all([ message.save(), - emitEvent({ event: "MESSAGE_UPDATE", channel_id, data: message, } as MessageUpdateEvent), - emitEvent({ event: "CHANNEL_PINS_UPDATE", channel_id, data: { channel_id, - guild_id: channel.guild_id, + guild_id: message.guild_id, last_pin_timestamp: undefined, }, } as ChannelPinsUpdateEvent),