Files
019b4b7503 feat: allow templating in the Signal notificaiton provider (#6989)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Frank Elsinga <frank@elsinga.de>
2026-02-19 20:30:49 +01:00

36 lines
1.0 KiB
JavaScript

const NotificationProvider = require("./notification-provider");
const axios = require("axios");
class Signal extends NotificationProvider {
name = "signal";
/**
* @inheritdoc
*/
async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
const okMsg = "Sent Successfully.";
try {
let message = msg;
if (notification.signalUseTemplate) {
message = await this.renderTemplate(notification.signalTemplate, msg, monitorJSON, heartbeatJSON);
}
let data = {
message,
number: notification.signalNumber,
recipients: notification.signalRecipients.replace(/\s/g, "").split(","),
};
let config = {};
config = this.getAxiosConfigWithProxy(config);
await axios.post(notification.signalURL, data, config);
return okMsg;
} catch (error) {
this.throwGeneralAxiosError(error);
}
}
}
module.exports = Signal;