Add support notification via SMSManager

This commit is contained in:
jakubenglicky
2022-09-15 09:11:05 +02:00
parent db6fdf5e26
commit 1c3da995e3
5 changed files with 63 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
const NotificationProvider = require("./notification-provider");
const axios = require("axios");
class SMSManager extends NotificationProvider {
name = "SMSManager";
async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
try {
let data = {
apikey: notification.smsmanagerApiKey,
endpoint: "https://http-api.smsmanager.cz/Send",
message: msg.replace(/[^\x00-\x7F]/g, ""),
to: notification.numbers,
messageType: notification.messageType,
};
await axios.get(`${data.endpoint}?apikey=${data.apikey}&message=${data.message}&number=${data.to}&gateway=${data.messageType}`);
return "SMS sent sucessfully.";
} catch (error) {
this.throwGeneralAxiosError(error);
}
}
}
module.exports = SMSManager;

View File

@@ -39,6 +39,7 @@ const Telegram = require("./notification-providers/telegram");
const Webhook = require("./notification-providers/webhook");
const WeCom = require("./notification-providers/wecom");
const GoAlert = require("./notification-providers/goalert");
const SMSManager = require("./notification-providers/smsmanager");
class Notification {
@@ -81,6 +82,7 @@ class Notification {
new RocketChat(),
new SerwerSMS(),
new Signal(),
new SMSManager(),
new Slack(),
new SMTP(),
new Stackfield(),