node-rigorous
Version:
Rigorous Framework
56 lines (40 loc) • 1.54 kB
JavaScript
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);
}
},
};