From ada6e468e54d4dfaf7db82031a1a0c953c345589 Mon Sep 17 00:00:00 2001 From: regalijan Date: Thu, 19 Oct 2023 17:26:07 -0400 Subject: [PATCH] Yoink global notify endpoint --- functions/api/notifications/send.ts | 35 ----------------------------- 1 file changed, 35 deletions(-) delete mode 100644 functions/api/notifications/send.ts diff --git a/functions/api/notifications/send.ts b/functions/api/notifications/send.ts deleted file mode 100644 index 2851130..0000000 --- a/functions/api/notifications/send.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { jsonError } from "../../common.js"; -import { sendPushNotification } from "../../gcloud.js"; - -export async function onRequestPost(context: RequestContext) { - const { current_user: currentUser } = context.data; - - if (!currentUser) return jsonError("Unauthorized", 401); - - if (!(currentUser.permissions & (1 << 0))) return jsonError("Forbidden", 403); - - const { body, title } = context.data.body; - - if (typeof body !== "string" || typeof title !== "string") - return jsonError("Body and title must be strings", 400); - - if ( - new Blob([ - JSON.stringify({ - message: { - notification: { - body, - title, - }, - }, - }), - ]).size > 4000 - ) - return jsonError("Payload too large", 400); - - await sendPushNotification(context.env, title, body); - - return new Response(null, { - status: 204, - }); -}