UNPKG

@heroku/salesforce-sdk-nodejs

Version:

Salesforce SDK for Heroku Apps.

32 lines (31 loc) 1.19 kB
"use strict"; 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); }