|
@ -354,6 +354,41 @@ class Notification { |
|
|
throwGeneralAxiosError(error) |
|
|
throwGeneralAxiosError(error) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} else if (notification.type === "pushbullet") { |
|
|
|
|
|
try { |
|
|
|
|
|
let pushbulletUrl = `https://api.pushbullet.com/v2/pushes`; |
|
|
|
|
|
let config = { |
|
|
|
|
|
headers: { |
|
|
|
|
|
'Access-Token': notification.pushbulletAccessToken, |
|
|
|
|
|
'Content-Type': 'application/json' |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
if (heartbeatJSON == null) { |
|
|
|
|
|
let testdata = { |
|
|
|
|
|
"type": "note", |
|
|
|
|
|
"title": "Uptime Kuma Alert", |
|
|
|
|
|
"body": "Testing Successful.", |
|
|
|
|
|
} |
|
|
|
|
|
await axios.post(pushbulletUrl, testdata, config) |
|
|
|
|
|
} else if (heartbeatJSON["status"] == 0) { |
|
|
|
|
|
let downdata = { |
|
|
|
|
|
"type": "note", |
|
|
|
|
|
"title": "UptimeKuma Alert:" + monitorJSON["name"], |
|
|
|
|
|
"body": "[🔴 Down]" + heartbeatJSON["msg"] + "\nTime (UTC):" + heartbeatJSON["time"], |
|
|
|
|
|
} |
|
|
|
|
|
await axios.post(pushbulletUrl, downdata, config) |
|
|
|
|
|
} else if (heartbeatJSON["status"] == 1) { |
|
|
|
|
|
let updata = { |
|
|
|
|
|
"type": "note", |
|
|
|
|
|
"title": "UptimeKuma Alert:" + monitorJSON["name"], |
|
|
|
|
|
"body": "[✅ Up]" + heartbeatJSON["msg"] + "\nTime (UTC):" + heartbeatJSON["time"], |
|
|
|
|
|
} |
|
|
|
|
|
await axios.post(pushbulletUrl, updata, config) |
|
|
|
|
|
} |
|
|
|
|
|
return okMsg; |
|
|
|
|
|
} catch (error) { |
|
|
|
|
|
throwGeneralAxiosError(error) |
|
|
|
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
throw new Error("Notification type is not supported") |
|
|
throw new Error("Notification type is not supported") |
|
|
} |
|
|
} |
|
|