UNPKG

@spreeloop/orange_money

Version:
47 lines 2.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAccessToken = void 0; const https_1 = require("../../utils/https"); const constants_1 = require("../utils/constants"); /** * Gets the access token for the API. * * @param {OrangeMoneyPaymentParams} paymentConfig - The payment configuration. * @param {string} endPoint - The end point route. * @return {Promise<GetAccessTokenResponse>} The access token response. */ const getAccessToken = async (paymentConfig, endPoint) => { var _a, _b, _c, _d; const logger = paymentConfig.logger; const encodeToBase64UserAndPassword = (0, https_1.encodeToBase64)(paymentConfig.apiUserName, paymentConfig.apiPassword); const authorization = `Basic ${encodeToBase64UserAndPassword}`; const bodyRequest = { [constants_1.ApiKey.keyGrantType]: 'client_credentials', }; const options = { [constants_1.ApiKey.keyAuthorization]: authorization, [constants_1.ApiKey.keyContentType]: constants_1.ConstantRequestField.TypeWwwFrom, }; logger.info(`Generates the access token with data: \nheaders: ${JSON.stringify(options)}\ndata: ${JSON.stringify((0, https_1.encodeTheBodyOfRequest)(bodyRequest))}\nroute: ${endPoint}`); const result = await (0, https_1.postRequest)({ headers: options, data: (0, https_1.encodeTheBodyOfRequest)(bodyRequest), route: endPoint, logger: logger, }); const accessToken = (_b = (_a = result.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.access_token; if (result.error || !accessToken) { logger.warn(`Request failed to generate the access token. Error retrieved: ${JSON.stringify(result.error)}`); return { raw: result.error, error: constants_1.ApiErrorType.failedToGenerateAccessToken, }; } logger.info(`Access token successfully generated with data ${JSON.stringify((_c = result.response) === null || _c === void 0 ? void 0 : _c.data)}`); return { data: accessToken, raw: (_d = result.response) === null || _d === void 0 ? void 0 : _d.data, }; }; exports.getAccessToken = getAccessToken; //# sourceMappingURL=get_access_token.js.map