const NotificationProvider = require("./notification-provider"); const axios = require("axios"); class Gorush extends NotificationProvider { name = "gorush"; /** * @inheritdoc */ async send(notification, msg, monitorJSON = null, heartbeatJSON = null) { const okMsg = "Sent Successfully."; let platformMapping = { "ios": 1, "android": 2, "huawei": 3, }; try { let data = { "notifications": [ { "tokens": [ notification.gorushDeviceToken ], "platform": platformMapping[notification.gorushPlatform], "message": msg, // Optional "title": notification.gorushTitle, "priority": notification.gorushPriority, "retry": parseInt(notification.gorushRetry) || 0, "topic": notification.gorushTopic, } ] }; let config = {}; await axios.post(`${notification.gorushServerURL}/api/push`, data, config); return okMsg; } catch (error) { this.throwGeneralAxiosError(error); } } } module.exports = Gorush;