moip-sdk-node-ts
Version:
Moip v2 API wrapper
30 lines (29 loc) • 1.34 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const api_1 = __importDefault(require("../client/api"));
const endpoints_1 = require("../client/endpoints");
const bluebird_1 = __importDefault(require("bluebird"));
const snakecase_keys_1 = __importDefault(require("snakecase-keys"));
const getAuthorizeUrl = (opts, payload) => {
const { clientId, redirectUri, scopes } = payload;
return new bluebird_1.default((resolve, reject) => {
if (clientId && redirectUri && scopes) {
const responseType = 'response_type=code';
return resolve(`${endpoints_1.endpoints[opts.env].v2.authorizeUrl}?${responseType}&client_id=${clientId}&redirect_uri=${redirectUri}&scope=${scopes}`);
}
else {
return reject(new Error('Please inform the config object passing your client_id, redirect_uri and the list of scopes'));
}
});
};
const generateToken = (opts, config) => api_1.default.post(opts, null, snakecase_keys_1.default(config), {
customUrl: endpoints_1.endpoints[opts.env].v2.generateTokenUrl,
form: {},
});
exports.default = {
getAuthorizeUrl: getAuthorizeUrl,
generateToken: generateToken,
};