@fusebit-int/gong-connector
Version:
Gong Connector
35 lines • 1.59 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const oauth_connector_1 = require("@fusebit-int/oauth-connector");
const superagent_1 = __importDefault(require("superagent"));
class GongOAuthEngine extends oauth_connector_1.OAuthEngine {
async fetchOAuthToken(ctx, params) {
const tokenUrl = new URL(this.getTokenUrl(ctx));
tokenUrl.searchParams.set('grant_type', params.grant_type);
if (params.code) {
tokenUrl.searchParams.set('code', params.code);
tokenUrl.searchParams.set('redirect_uri', params.redirect_uri);
tokenUrl.searchParams.set('client_id', params.client_id);
}
if (params.refresh_token) {
tokenUrl.searchParams.set('refresh_token', params.refresh_token);
}
const basicAuth = Buffer.from(`${params.client_id}:${params.client_secret}`).toString('base64');
try {
const response = await superagent_1.default
.post(tokenUrl.toString())
.set('Accept', 'application/json')
.set('User-Agent', 'fusebit/oauth')
.set('Authorization', `Basic ${basicAuth}`);
return this.normalizeOAuthToken(response.body);
}
catch (error) {
throw new Error(`Unable to connect to tokenUrl ${tokenUrl}: ${error}`);
}
}
}
exports.default = GongOAuthEngine;
//# sourceMappingURL=Engine.js.map