UNPKG

@fusebit-int/gong-connector

Version:
35 lines 1.59 kB
"use strict"; 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