From 7614b9560f1d837f8c17158379470ef61ad47d91 Mon Sep 17 00:00:00 2001 From: Oliver Akins Date: Tue, 26 Jul 2022 18:45:31 -0600 Subject: [PATCH] Create the update channel endpoint --- src/endpoints/management/update_channel.ts | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/endpoints/management/update_channel.ts diff --git a/src/endpoints/management/update_channel.ts b/src/endpoints/management/update_channel.ts new file mode 100644 index 0000000..8383aec --- /dev/null +++ b/src/endpoints/management/update_channel.ts @@ -0,0 +1,31 @@ +import { ServerRoute } from "@hapi/hapi"; +import boom from "@hapi/boom"; +import { db } from "@/main"; +import Joi from "joi"; + +const data: ServerRoute = { + method: `PATCH`, path: `/manage/{channel}`, + options: { + validate: { + params: Joi.object({ + channel: Joi.string().alphanum(), + }), + payload: Joi.object({ + default_unlurk: Joi.string().min(1), + }), + }, + }, + async handler(request, h) { + const { channel } = request.params; + const { default_unlurk } = request.payload as any; + + if (!db[channel]) { + throw boom.notFound(`Invalid channel`); + }; + + db[channel].unlurk_default = default_unlurk; + + return h.response().code(200); + }, +}; +export default data; \ No newline at end of file