106 lines
4.1 KiB
JavaScript
106 lines
4.1 KiB
JavaScript
// JavaScript Document
|
|
// V1.0.0
|
|
exports.onesignal_updateapp = async function (options) {
|
|
|
|
|
|
// get appid
|
|
const appid = this.parseOptional(options.appid, '*', process.env.ONESIGNAL_APP_ID)
|
|
console.log(options.appid + " => " + appid)
|
|
|
|
const orgid = this.parseOptional(options.orgid, '*', null)
|
|
console.log(options.orgid + " => " + orgid)
|
|
|
|
const chrome_web_default_notification_icon = this.parseOptional(options.chrome_web_default_notification_icon, '*', null)
|
|
console.log(options.chrome_web_default_notification_icon + " => " + chrome_web_default_notification_icon)
|
|
|
|
const chrome_web_origin = this.parseOptional(options.chrome_web_origin, '*', process.env.ONESIGNAL_SITE_URL)
|
|
console.log(options.chrome_web_origin + " => " + chrome_web_origin)
|
|
|
|
const appname = this.parseRequired(options.app_name, '*', 'You must specify an app name')
|
|
console.log(options.app_name + " => " + appname)
|
|
|
|
const safari_site_origin = this.parseOptional(options.safari_site_origin, '*', null)
|
|
console.log(options.safari_site_origin + " => " + safari_site_origin)
|
|
|
|
const safari_apns_p12 = this.parseOptional(options.safari_apns_p12, '*', null)
|
|
console.log(options.safari_apns_p12 + " => " + safari_apns_p12)
|
|
|
|
const safari_apns_p12_password = this.parseOptional(options.safari_apns_p12_password, '*', null)
|
|
console.log(options.safari_apns_p12_password + " => " + safari_apns_p12_password)
|
|
|
|
const safari_icon_256_256 = this.parseOptional(options.safari_icon_256_256, '*', '')
|
|
console.log(options.safari_icon_256_256 + " => " + safari_icon_256_256)
|
|
|
|
const fcm_v1_service_account_json = this.parseOptional(options.fcm_v1_service_account_json, '*', null)
|
|
console.log(options.fcm_v1_service_account_json + " => " + fcm_v1_service_account_json)
|
|
|
|
const apns_p12 = this.parseOptional(options.apns_p12, '*', null)
|
|
console.log(options.apns_p12 + " => " + apns_p12)
|
|
|
|
const apns_p12_password = this.parseOptional(options.apns_p12_password, '*', null)
|
|
console.log(options.apns_p12_password + " => " + apns_p12_password)
|
|
|
|
const apns_env = this.parseOptional(options.apns_env, '*', null)
|
|
console.log(options.apns_env + " => " + apns_env)
|
|
|
|
const apns_key_id = this.parseOptional(options.apns_key_id, '*', null)
|
|
console.log(options.apns_key_id + " => " + apns_key_id)
|
|
|
|
const apns_team_id = this.parseOptional(options.apns_team_id, '*', null)
|
|
console.log(options.apns_team_id + " => " + apns_team_id)
|
|
|
|
const apns_bundle_id = this.parseOptional(options.apns_bundle_id, '*', null)
|
|
console.log(options.apns_bundle_id + " => " + apns_bundle_id)
|
|
|
|
const apns_p8 = this.parseOptional(options.apns_p8, '*', null)
|
|
console.log(options.aapns_p8 + " => " + apns_p8)
|
|
|
|
const fetch = require('node-fetch');
|
|
|
|
const url = `https://api.onesignal.com/apps/${appid}`
|
|
const os_options = {
|
|
method: 'PUT',
|
|
headers: {
|
|
accept: 'text/plain',
|
|
'Content-Type': 'application/json',
|
|
Authorization: `Basic ${process.env.ONESIGNAL_REST_API_KEY}`,
|
|
},
|
|
body: JSON.stringify({
|
|
name: appname,
|
|
fcm_v1_service_account_json: fcm_v1_service_account_json,
|
|
chrome_web_origin: chrome_web_origin,
|
|
chrome_web_default_notification_icon: chrome_web_default_notification_icon,
|
|
site_name: safari_site_origin,
|
|
safari_site_origin: safari_site_origin,
|
|
safari_apns_p12: safari_apns_p12,
|
|
safari_apns_p12_password: safari_apns_p12_password,
|
|
safari_icon_256_256: safari_icon_256_256,
|
|
apns_p12: apns_p12,
|
|
apns_p12_password: apns_p12_password,
|
|
apns_env: apns_env,
|
|
apns_key_id: apns_key_id,
|
|
apns_team_id: apns_team_id,
|
|
apns_bundle_id: apns_bundle_id,
|
|
apns_p8: apns_p8,
|
|
additional_data_is_root_payload: false
|
|
})
|
|
};
|
|
console.log('Method: ' + os_options.method)
|
|
console.log('Headers: ' + os_options.headers)
|
|
console.log('Body: ' + os_options.body)
|
|
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));
|
|
|
|
|
|
|
|
}
|
|
|
|
|