Add ability to use User ID for LunaSea notifications

This commit is contained in:
Bobby Ore 2023-02-08 14:08:25 -06:00
parent e241728419
commit 8725e5daf9
2 changed files with 21 additions and 7 deletions

View File

@ -8,15 +8,20 @@ class LunaSea extends NotificationProvider {
async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
let okMsg = "Sent Successfully.";
let lunaseadevice = "https://notify.lunasea.app/v1/custom/device/" + notification.lunaseaDevice;
let lunaseaurl = "";
if(notification.lunaseaNotificationType === "device") {
lunaseaurl = "https://notify.lunasea.app/v1/custom/device/" + notification.lunaseaId;
} else {
lunaseaurl = "https://notify.lunasea.app/v1/custom/user/" + notification.lunaseaId;
}
try {
if (heartbeatJSON == null) {
let testdata = {
"title": "Uptime Kuma Alert",
"body": msg,
};
await axios.post(lunaseadevice, testdata);
await axios.post(lunaseaurl, testdata);
return okMsg;
}
@ -25,7 +30,7 @@ class LunaSea extends NotificationProvider {
"title": "UptimeKuma Alert: " + monitorJSON["name"],
"body": "[🔴 Down] " + heartbeatJSON["msg"] + "\nTime (UTC): " + heartbeatJSON["time"],
};
await axios.post(lunaseadevice, downdata);
await axios.post(lunaseaurl, downdata);
return okMsg;
}
@ -34,7 +39,7 @@ class LunaSea extends NotificationProvider {
"title": "UptimeKuma Alert: " + monitorJSON["name"],
"body": "[✅ Up] " + heartbeatJSON["msg"] + "\nTime (UTC): " + heartbeatJSON["time"],
};
await axios.post(lunaseadevice, updata);
await axios.post(lunaseaurl, updata);
return okMsg;
}

View File

@ -1,7 +1,16 @@
<template>
<div class="mb-3">
<label for="lunasea-device" class="form-label">{{ $t("LunaSea Device ID") }}<span style="color: red;"><sup>*</sup></span></label>
<input id="lunasea-device" v-model="$parent.notification.lunaseaDevice" type="text" class="form-control" required>
<label for="lunasea-notification-type" class="form-label">{{ $t("Device ID or User ID") }}<span style="color: red;"><sup>*</sup></span></label>
<div class="form-text">
<p>
<select class="form-select" id="lunasea-notification-type" v-model="$parent.notification.lunaseaNotificationType">
<option value="device">Device</option>
<option value="user">User</option>
</select>
</p>
</div>
<label for="lunasea-device" class="form-label">{{ $t("LunaSea ID") }}<span style="color: red;"><sup>*</sup></span></label>
<input id="lunasea-device" v-model="$parent.notification.lunaseaId" type="text" class="form-control" required>
<div class="form-text">
<p><span style="color: red;"><sup>*</sup></span>{{ $t("Required") }}</p>
</div>