UNPKG

@heroku/salesforce-sdk-nodejs

Version:

Salesforce SDK for Heroku Apps.

64 lines (63 loc) 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataCloudApiImpl = void 0; exports.parseDataActionEvent = parseDataActionEvent; const request_1 = require("../utils/request"); function parseDataActionEvent(payload) { return payload; } class DataCloudApiImpl { constructor(accessToken, domainUrl) { this.accessToken = accessToken; this.domainUrl = domainUrl; this.request = new request_1.HttpRequestUtil(); } async query(sql) { const url = `${this.domainUrl}/api/v2/query`; const opts = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${this.accessToken}` }, retry: { limit: 1 }, json: sql }; const response = await this.request.request(url, opts); return response; } async queryNextBatch(nextBatchId) { const url = `${this.domainUrl}/api/v2/query/${nextBatchId}`; const opts = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${this.accessToken}` }, retry: { limit: 1 } }; const response = await this.request.request(url, opts); return response; } async upsert(name, objectName, data) { const url = `${this.domainUrl}/api/v1/ingest/sources/${name}/${objectName}`; const opts = { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${this.accessToken}` }, retry: { limit: 1 }, json: data }; const response = await this.request.request(url, opts); return response; } } exports.DataCloudApiImpl = DataCloudApiImpl;