From aa235a4f7b7d7131d22fd01de46b265bfc3c31a0 Mon Sep 17 00:00:00 2001 From: Fergal Moran Date: Mon, 6 Mar 2023 14:36:09 +0000 Subject: [PATCH] Fix up the notifications --- web/src/pages/api/cron/notify.ts | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/web/src/pages/api/cron/notify.ts b/web/src/pages/api/cron/notify.ts index 6d74aa4..412d092 100644 --- a/web/src/pages/api/cron/notify.ts +++ b/web/src/pages/api/cron/notify.ts @@ -1,7 +1,7 @@ import type { NextApiRequest, NextApiResponse } from "next"; import { StatusCodes } from "http-status-codes"; import { Shows, Users } from "@/lib/db/collections"; -import { sendWhatsApp } from "@/lib/util/notifications/sms"; +import { sendSMS, sendWhatsApp } from "@/lib/util/notifications/sms"; const handler = async (req: NextApiRequest, res: NextApiResponse) => { if (req.method !== "POST") { @@ -13,15 +13,30 @@ const handler = async (req: NextApiRequest, res: NextApiResponse) => { const users = await Users.getNotifiable(); //iterate through every user and get their notifications //and send 'em off - users?.forEach(user => { + if (!users) { + res.status(StatusCodes.METHOD_NOT_ALLOWED); + res.end(); + return; + } + for (const user of users) { const message = (process.env.WHATSAPP_SHOW_HOUR as string) .replace("{{1}}", user.displayName as string) .replace("{{2}}", show.creator); if (user.mobileNumber) { - sendWhatsApp(user.mobileNumber, message); + if (user.notificationsWhatsapp) { + await sendWhatsApp(user.mobileNumber, message); + } + if (user.notificationsMobile) { + await sendSMS(user.mobileNumber, message); + } } - }); - + if (user.email && user.notificationsEmail) { + await sendEmail(user.email, "New show upcoming on Radio Otherway", message); + } + if (user.notificationsBrowser) { + // await sendEmail(user.email, "New show upcoming on Radio Otherway", message); + } + } res.status(StatusCodes.OK).json({ status: "OK" }); res.end(); };