diff --git a/server/notification.js b/server/notification.js index f25ca80a7..67c62454c 100644 --- a/server/notification.js +++ b/server/notification.js @@ -235,6 +235,41 @@ class Notification { return Notification.apprise(notification, msg) + } else if (notification.type === "lunasea") { + let lunaseadevice = "https://notify.lunasea.app/v1/custom/device/"+notification.lunaseaDevice + + try { + if (heartbeatJSON == null) { + let testdata = { + "title": "Uptime Kuma Alert", + "body": "Testing Successful." + } + await axios.post(lunaseadevice, testdata) + return okMsg; + } + + if (heartbeatJSON["status"] == 0) { + let downdata = { + "title": "UptimeKuma Alert:" +monitorJSON["name"], + "body": "[🔴 Down]"+heartbeatJSON['msg']+ "\nTime (UTC):" + heartbeatJSON["time"] + } + await axios.post(lunaseadevice, downdata) + return okMsg; + } + + if (heartbeatJSON["status"] == 1) { + let updata = { + "title": "UptimeKuma Alert:" +monitorJSON["name"], + "body": "[✅ Up]"+heartbeatJSON['msg']+ "\nTime (UTC):" + heartbeatJSON["time"] + } + await axios.post(lunaseadevice, updata) + return okMsg; + } + + } catch (error) { + throwGeneralAxiosError(error) + } + } else { throw new Error("Notification type is not supported") }