diff --git a/src/routes/channels/#channel_id/index.ts b/src/routes/channels/#channel_id/index.ts
index d66b7570..0e5a5124 100644
--- a/src/routes/channels/#channel_id/index.ts
+++ b/src/routes/channels/#channel_id/index.ts
@@ -24,16 +24,18 @@ router.delete("/", async (req, res) => {
const { channel_id } = req.params;
const channel = await ChannelModel.findOne({ id: channel_id }).exec();
+ if (!channel) throw new HTTPError("Channel not found", 404);
+
const permission = await getPermission(req.user_id, channel?.guild_id, channel_id, { channel });
permission.hasThrow("MANAGE_CHANNELS");
- await ChannelModel.deleteOne({ id: channel_id });
-
// TODO: Dm channel "close" not delete
const data = toObject(channel);
await emitEvent({ event: "CHANNEL_DELETE", data, guild_id: channel?.guild_id, channel_id } as ChannelDeleteEvent);
+ await ChannelModel.deleteOne({ id: channel_id });
+
res.send(data);
});
@@ -47,14 +49,16 @@ router.patch("/", check(ChannelModifySchema), async (req, res) => {
const channel = await ChannelModel.findOneAndUpdate({ id: channel_id }, payload).exec();
if (!channel) throw new HTTPError("Channel not found", 404);
+ const data = toObject(channel);
+
await emitEvent({
event: "CHANNEL_UPDATE",
- data: toObject(channel),
+ data,
guild_id: channel.guild_id,
- channel_id,
+ channel_id
} as ChannelUpdateEvent);
- res.send(toObject(channel));
+ res.send(data);
});
export default router;
|