diff --git a/server/notification.js b/server/notification.js index 99cc1568..6a92effe 100644 --- a/server/notification.js +++ b/server/notification.js @@ -177,6 +177,35 @@ class Notification { return false; } + } else if (notification.type === "pushover") { + var pushoverlink = 'https://api.pushover.net/1/messages.json' + try { + if (heartbeatJSON == null) { + let data = {'message': "Uptime Kuma Pushover testing successful.", + 'user': notification.pushoveruserkey, 'token': notification.pushoverapptoken, 'sound':notification.pushoversounds, + 'priority': notification.pushoverpriority, 'title':notification.pushovertitle, 'retry': "30", 'expire':"3600", 'html': 1} + let res = await axios.post(pushoverlink, data) + return true; + } + + let data = { + "message": "Uptime Kuma Alert\n\nMessage:" +msg + '\nTime (UTC):' +time, + "user":notification.pushoveruserkey, + "token": notification.pushoverapptoken, + "sound": notification.pushoversounds, + "priority": notification.pushoverpriority, + "title": notification.pushovertitle, + "retry": "30", + "expire": "3600", + "html": 1 + } + let res = await axios.post(pushoverlink, data) + return true; + } catch (error) { + console.log(error) + return false; + } + } else { throw new Error("Notification type is not supported") } diff --git a/src/components/NotificationDialog.vue b/src/components/NotificationDialog.vue index 15991517..901ce344 100644 --- a/src/components/NotificationDialog.vue +++ b/src/components/NotificationDialog.vue @@ -20,6 +20,7 @@ + @@ -202,6 +203,55 @@

+ +