@heroku/salesforce-sdk-nodejs
Version:
Salesforce SDK for Heroku Apps.
32 lines (31 loc) • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getConnection = getConnection;
const context_1 = require("./sdk/context");
const request_1 = require("./utils/request");
const uuid_1 = require("uuid");
const HTTP_REQUEST = new request_1.HttpRequestUtil();
function getConnection(name) {
if (!name) {
throw Error(`Connection name not provided`);
}
const addonEndpoint = process.env.HEROKU_INTEGRATION_URL || process.env.HEROKU_INTEGRATION_STAGING_URL;
if (!addonEndpoint) {
throw Error(`Heroku Integration add-on endpoint not provided`);
}
const authUrl = `${addonEndpoint}/salesforce/${name}/authorization`;
const opts = {
method: 'GET',
retry: {
limit: 1
}
};
let response;
try {
response = HTTP_REQUEST.request(authUrl, opts);
}
catch (err) {
throw new Error(`Unable to get connection ${name}: ${err.message}`);
}
return new context_1.ContextImpl(response.accessToken, response.apiVersion, `${response.orgId}-${(0, uuid_1.v4)()}`, response.namespace, response.orgId, response.orgDomainUrl, response.userId, response.username);
}