@heroku/salesforce-sdk-nodejs
Version:
Salesforce SDK for Heroku Apps.
41 lines (40 loc) • 1.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OrgImpl = void 0;
const bulk_api_1 = require("./bulk-api");
const data_api_js_1 = require("./data-api.js");
const data_cloud_api_js_1 = require("./data-cloud-api.js");
const request_1 = require("../utils/request");
const user_js_1 = require("./user.js");
const HTTP_REQUEST = new request_1.HttpRequestUtil();
class OrgImpl {
constructor(accessToken, apiVersion, namespace, orgId, orgDomainUrl, userId, username, dataCloudAccessToken, dataCloudInstanceUrl) {
this.accessToken = accessToken;
this.apiVersion = apiVersion.startsWith('v') ? apiVersion.substring(1) : apiVersion;
this.domainUrl = orgDomainUrl.startsWith('http') ? orgDomainUrl : `https://${orgDomainUrl}`;
this.id = orgId;
this.namespace = namespace === null || namespace === 'null' ? '' : namespace;
this.bulkApi = (0, bulk_api_1.createBulkApi)({
instanceUrl: this.domainUrl,
version: this.apiVersion,
accessToken,
});
this.dataApi = new data_api_js_1.DataApiImpl(accessToken, this.apiVersion, this.domainUrl);
if (dataCloudAccessToken && dataCloudInstanceUrl) {
this.dataCloudApi = new data_cloud_api_js_1.DataCloudApiImpl(dataCloudAccessToken, dataCloudInstanceUrl);
}
this.user = new user_js_1.UserImpl(userId, username);
}
async request(fullUrlOrUrlPart, opts, json = true) {
const url = fullUrlOrUrlPart.startsWith('http')
? fullUrlOrUrlPart
: `${this.domainUrl}/${fullUrlOrUrlPart}`;
const updatedOpts = opts || {};
updatedOpts.headers = updatedOpts.headers || {};
if (!updatedOpts.headers['Authorization']) {
updatedOpts.headers['Authorization'] = `Bearer ${this.accessToken}`;
}
return HTTP_REQUEST.request(url, updatedOpts, json);
}
}
exports.OrgImpl = OrgImpl;