UNPKG

@setu/upi-deep-links

Version:

NPM package to connect to Setu's UPI Deep Link APIs

62 lines 5.26 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAxiosInstance = exports.setuErrorHandler = void 0; const axios_1 = __importDefault(require("axios")); const axios_auth_refresh_1 = __importDefault(require("axios-auth-refresh")); const auth_1 = require("./auth"); const types_1 = require("./types"); const genericSetuError = { code: "unknown-error", detail: "Something went wrong. Please try again in sometime.", docURL: "", title: "Unknown error", errors: [], traceID: "", }; const setuErrorHandler = (error) => { if (error.response && !(error.response.status === 401 || error.response.status === 403)) { return Promise.reject(error.response.data.error); } else { return Promise.reject(genericSetuError); } }; exports.setuErrorHandler = setuErrorHandler; const getAxiosInstance = (params) => { // eslint-disable-next-line functional/no-let let token = ""; const collectAxiosInstance = axios_1.default.create({ headers: { "X-Setu-Product-Instance-ID": params.productInstanceID, }, }); collectAxiosInstance.interceptors.request.use(async (config) => { if (params.authType === "JWT") { token = (0, auth_1.getJWTToken)(params.schemeID, params.secret); } else if (token === "" && config.url && !config.url.endsWith(types_1.API.FETCH_TOKEN)) { token = await (0, auth_1.getOAuthToken)(params.mode, params.schemeID, params.secret); } return Object.assign(Object.assign({}, config), { headers: Object.assign(Object.assign({}, config.headers), { Authorization: token }) }); }); const refreshAuth = async (failedRequest) => { token = await (0, auth_1.getOAuthToken)(params.mode, params.schemeID, params.secret); if (failedRequest.response) { // eslint-disable-next-line functional/immutable-data failedRequest.response.config.headers = Object.assign(Object.assign({}, failedRequest.response.config.headers), { Authorization: token }); } return token; }; if (params.authType === "OAUTH") { // TODO: What happens in case of 403 due to actual lack of access? (0, axios_auth_refresh_1.default)(collectAxiosInstance, refreshAuth, { statusCodes: [401, 403], }); } return collectAxiosInstance; }; exports.getAxiosInstance = getAxiosInstance; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGtEQUE4RDtBQUM5RCw0RUFBOEQ7QUFJOUQsaUNBQW9EO0FBQ3BELG1DQUF1RTtBQUV2RSxNQUFNLGdCQUFnQixHQUFjO0lBQ2hDLElBQUksRUFBRSxlQUFlO0lBQ3JCLE1BQU0sRUFBRSxxREFBcUQ7SUFDN0QsTUFBTSxFQUFFLEVBQUU7SUFDVixLQUFLLEVBQUUsZUFBZTtJQUN0QixNQUFNLEVBQUUsRUFBRTtJQUNWLE9BQU8sRUFBRSxFQUFFO0NBQ2QsQ0FBQztBQUVLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUE0QyxFQUFFLEVBQUU7SUFDN0UsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLEVBQUU7UUFDckYsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3BEO1NBQU07UUFDSCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQUMzQztBQUNMLENBQUMsQ0FBQztBQU5XLFFBQUEsZ0JBQWdCLG9CQU0zQjtBQUVLLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxNQUE2QixFQUFFLEVBQUU7SUFDOUQsNkNBQTZDO0lBQzdDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUVmLE1BQU0sb0JBQW9CLEdBQUcsZUFBSyxDQUFDLE1BQU0sQ0FBQztRQUN0QyxPQUFPLEVBQUU7WUFDTCw0QkFBNEIsRUFBRSxNQUFNLENBQUMsaUJBQWlCO1NBQ3pEO0tBQ0osQ0FBQyxDQUFDO0lBRUgsb0JBQW9CLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQTBCLEVBQUUsRUFBRTtRQUMvRSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQzNCLEtBQUssR0FBRyxJQUFBLGtCQUFXLEVBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdkQ7YUFBTSxJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUM1RSxLQUFLLEdBQUcsTUFBTSxJQUFBLG9CQUFhLEVBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM1RTtRQUVELHVDQUNPLE1BQU0sS0FDVCxPQUFPLGtDQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUUsYUFBYSxFQUFFLEtBQUssT0FDcEQ7SUFDTixDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxhQUF5QixFQUFtQixFQUFFO1FBQ3JFLEtBQUssR0FBRyxNQUFNLElBQUEsb0JBQWEsRUFBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpFLElBQUksYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUN4QixxREFBcUQ7WUFDckQsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxtQ0FDOUIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUN4QyxhQUFhLEVBQUUsS0FBSyxHQUN2QixDQUFDO1NBQ0w7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDLENBQUM7SUFFRixJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFO1FBQzdCLGtFQUFrRTtRQUNsRSxJQUFBLDRCQUE0QixFQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRTtZQUM1RCxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQzFCLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxvQkFBb0IsQ0FBQztBQUNoQyxDQUFDLENBQUM7QUE3Q1csUUFBQSxnQkFBZ0Isb0JBNkMzQiJ9