UNPKG

@absolute/change-tracker-node-sdk

Version:

ChangeTracker SDK for Node.js

43 lines (34 loc) 1.17 kB
const https = require('https') /** * store - perform POST request to host * @param {string} hostName - the project host name * @param {string} token - JWT token for authentication * @param {Table} table - the table model * @returns response object **/ async function store(hostName, token, table) { if (table == null) return null const baseUrl = `https://${hostName}.hosts.changetracker.it` const tableName = encodeURI(table.name) const url = `${baseUrl}/?tableName=${tableName}&token=${encodeURI(token)}` const options = { method: 'POST', headers: { accept: 'application/json' } } const body = JSON.stringify(table) return await new Promise((resolve, reject) => { const request = https.request(url, options, (res) => { res.setEncoding('utf8') let returnData = '' res.on('data', (chunk) => { returnData += chunk }) res.on('end', () => { resolve(JSON.parse(returnData)) }) }) request.on('error', (e) => { resolve({ok: false, errorText: e.message}) }) request.write(body) request.end() }); } module.exports = { store }