Move title generation to notification class

This commit is contained in:
Domenic Horner 2021-09-04 11:06:06 +08:00
parent 9c32adfb55
commit 6ae279c7f3
3 changed files with 15 additions and 12 deletions

View File

@ -270,18 +270,9 @@ class Monitor extends BeanModel {
this.id, this.id,
]) ])
let text;
if (bean.status === UP) {
text = "✅ Up"
} else {
text = "🔴 Down"
}
let msg = `[${this.name}] [${text}] ${bean.msg}`;
for (let notification of notificationList) { for (let notification of notificationList) {
try { try {
await Notification.send(JSON.parse(notification.config), msg, await this.toJSON(), bean.toJSON()) await Notification.send(JSON.parse(notification.config), this.name, await this.toJSON(), bean.toJSON())
} catch (e) { } catch (e) {
console.error("Cannot send notification to " + notification.name); console.error("Cannot send notification to " + notification.name);
console.log(e); console.log(e);

View File

@ -15,9 +15,21 @@ class Notification {
* @returns {Promise<string>} Successful msg * @returns {Promise<string>} Successful msg
* Throw Error with fail msg * Throw Error with fail msg
*/ */
static async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { static async send(notification, monitorName = null, monitorJSON = null, heartbeatJSON = null) {
let okMsg = "Sent Successfully. "; let okMsg = "Sent Successfully. ";
let msg = `[${notification.name}] Testing`;
// heartbeatJSON is only defined if we're not testing
if(heartbeatJSON) {
let text;
if (heartbeatJSON["status"] === 1) {
text = "✅ Up"
} else {
text = "🔴 Down"
}
msg = `[${monitorName}] [${text}] ${heartbeatJSON["msg"]}`;
}
if (notification.type === "telegram") { if (notification.type === "telegram") {
try { try {
await axios.get(`https://api.telegram.org/bot${notification.telegramBotToken}/sendMessage`, { await axios.get(`https://api.telegram.org/bot${notification.telegramBotToken}/sendMessage`, {

View File

@ -552,7 +552,7 @@ let indexHTML = fs.readFileSync("./dist/index.html").toString();
try { try {
checkLogin(socket) checkLogin(socket)
let msg = await Notification.send(notification, notification.name + " Testing") let msg = await Notification.send(notification)
callback({ callback({
ok: true, ok: true,