do not send notification if first beat is UP

This commit is contained in:
LouisLam 2021-07-10 01:15:21 +08:00
parent 072e86542a
commit ff4259380e
1 changed files with 20 additions and 17 deletions

View File

@ -109,27 +109,30 @@ class Monitor extends BeanModel {
if (! previousBeat || previousBeat.status !== bean.status) {
bean.important = true;
let notificationList = await R.getAll(`SELECT notification.* FROM notification, monitor_notification WHERE monitor_id = ? AND monitor_notification.notification_id = notification.id `, [
this.id
])
// Do not send if first beat is UP
if (previousBeat || bean.status !== 1) {
let notificationList = await R.getAll(`SELECT notification.* FROM notification, monitor_notification WHERE monitor_id = ? AND monitor_notification.notification_id = notification.id `, [
this.id
])
let promiseList = [];
let promiseList = [];
let text;
if (bean.status === 1) {
text = "✅ Up"
} else {
text = "🔴 Down"
let text;
if (bean.status === 1) {
text = "✅ Up"
} else {
text = "🔴 Down"
}
let msg = `[${this.name}] [${text}] ${bean.msg}`;
for(let notification of notificationList) {
promiseList.push(Notification.send(JSON.parse(notification.config), msg, await this.toJSON(), bean.toJSON()));
}
await Promise.all(promiseList);
}
let msg = `[${this.name}] [${text}] ${bean.msg}`;
for(let notification of notificationList) {
promiseList.push(Notification.send(JSON.parse(notification.config), msg, await this.toJSON(), bean.toJSON()));
}
await Promise.all(promiseList);
} else {
bean.important = false;
}