summary refs log tree commit diff
path: root/src/routes/channels/#channel_id/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/channels/#channel_id/index.ts')
-rw-r--r--src/routes/channels/#channel_id/index.ts60
1 files changed, 0 insertions, 60 deletions
diff --git a/src/routes/channels/#channel_id/index.ts b/src/routes/channels/#channel_id/index.ts
deleted file mode 100644

index 81e5054e..00000000 --- a/src/routes/channels/#channel_id/index.ts +++ /dev/null
@@ -1,60 +0,0 @@ -import { ChannelDeleteEvent, ChannelModel, ChannelUpdateEvent, getPermission, GuildUpdateEvent, toObject } from "@fosscord/server-util"; -import { Router, Response, Request } from "express"; -import { HTTPError } from "lambert-server"; -import { ChannelModifySchema } from "../../../schema/Channel"; -import { emitEvent } from "../../../util/Event"; -import { check } from "../../../util/instanceOf"; -const router: Router = Router(); -// TODO: delete channel -// TODO: Get channel - -router.get("/", async (req: Request, res: Response) => { - const { channel_id } = req.params; - - const channel = await ChannelModel.findOne({ id: channel_id }).exec(); - - const permission = await getPermission(req.user_id, channel.guild_id, channel_id); - permission.hasThrow("VIEW_CHANNEL"); - - return res.send(toObject(channel)); -}); - -router.delete("/", async (req: Request, res: Response) => { - const { channel_id } = req.params; - - const channel = await ChannelModel.findOne({ id: channel_id }).exec(); - - const permission = await getPermission(req.user_id, channel?.guild_id, channel_id, { channel }); - permission.hasThrow("MANAGE_CHANNELS"); - - // TODO: Dm channel "close" not delete - const data = toObject(channel); - - await emitEvent({ event: "CHANNEL_DELETE", data, channel_id } as ChannelDeleteEvent); - - await ChannelModel.deleteOne({ id: channel_id }); - - res.send(data); -}); - -router.patch("/", check(ChannelModifySchema), async (req: Request, res: Response) => { - var payload = req.body as ChannelModifySchema; - const { channel_id } = req.params; - - const permission = await getPermission(req.user_id, undefined, channel_id); - permission.hasThrow("MANAGE_CHANNELS"); - - const channel = await ChannelModel.findOneAndUpdate({ id: channel_id }, payload).exec(); - - const data = toObject(channel); - - await emitEvent({ - event: "CHANNEL_UPDATE", - data, - channel_id - } as ChannelUpdateEvent); - - res.send(data); -}); - -export default router;