@spreeloop/orange_money
Version:
A orange money api integration package
47 lines • 2.27 kB
JavaScript
;
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