UNPKG

node-rigorous

Version:
56 lines (40 loc) 1.54 kB
const OneSignalNode = require('onesignal-node'); const RigorousError = require('../facades/RigorousError'); const errorsMessages = require('../etc/errorsMessages'); let localOnesignal = null; module.exports = { get: () => localOnesignal, init: (config) => { localOnesignal = new OneSignalNode.Client(config); }, sendNotification: async (webPushTitle, webPushMessage, notificationId, userOneSignalIdsArray) => { try { const notificationObject = new OneSignalNode.Notification({ headings: { fr: webPushTitle, }, contents: { fr: webPushMessage, }, data: { notificationId: notificationId, }, include_player_ids: userOneSignalIdsArray, }); const result = await new Promise((resolve, reject) => { localOnesignal.sendNotification(notificationObject, (err, httpResponse, data) => { if (err) { console.log('Something went wrong...'); reject(err); } else { console.log(data); resolve(data); } }); }); return result; } catch (err) { throw new RigorousError(errorsMessages.SendNotificationError, err); } }, };