@heroku/salesforce-sdk-nodejs
Version:
Salesforce SDK for Heroku Apps.
64 lines (63 loc) • 2 kB
JavaScript
;
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;