// JavaScript Document // v1.0.0 // retruned undocumented property "offset" (currently added to schema)" exports.onesignal_update_subscription = async function (options) { // get appid parsed as options.appid, throw error is missing const appid = this.parseRequired(options.appid, '*', 'No app ID entered') // log before and after vlaues console.log('App id: ' + options.appid + " => " + appid) var subscription_id = this.parseRequired(options.subscription_id, '*', 'Subscription ID not specified') console.log('Subscription_id: ' + options.subscription_id + " => " + subscription_id) var token = this.parseRequired(options.token, '*', 'Token not specified') console.log('Token: ' + options.token + " => " + token) const pushtype = this.parseRequired(options.pushtype, '*', 'No push type specified') console.log('Type: ' + options.pushtype) const enabled = this.parseOptional(options.enabled, '*', false) console.log('Enabled: ' + options.enabled + " => " + enabled) const fetch = require('node-fetch'); const url = `https://api.onesignal.com/apps/${appid}/subscriptions/${subscription_id}`; const os_options = { method: 'PATCH', headers: { accept: 'application/json', 'content-type': 'application/json', Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}` }, body: JSON.stringify({ subscription: { type: pushtype, token: token, enabled: enabled } }) }; return fetch(url, os_options) .then(res => { return res.json().then(json => { json.status = res.status; // Add status to json response return json; }); }) .catch(err => console.error('Error:', err)); }