UNPKG

@setu/upi-deep-links

Version:

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

60 lines 4.93 kB
import axios from "axios"; import createAuthRefreshInterceptor from "axios-auth-refresh"; import { getJWTToken, getOAuthToken } from "./auth"; import { API } from "./types"; const genericSetuError = { code: "unknown-error", detail: "Something went wrong. Please try again in sometime.", docURL: "", title: "Unknown error", errors: [], traceID: "", }; export 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); } }; export const getAxiosInstance = (params) => { // eslint-disable-next-line functional/no-let let token = ""; const collectAxiosInstance = axios.create({ headers: { "X-Setu-Product-Instance-ID": params.productInstanceID, }, }); collectAxiosInstance.interceptors.request.use(async (config) => { if (params.authType === "JWT") { token = getJWTToken(params.schemeID, params.secret); } else if (token === "" && config.url && !config.url.endsWith(API.FETCH_TOKEN)) { token = await getOAuthToken(params.mode, params.schemeID, params.secret); } return { ...config, headers: { ...config.headers, Authorization: token }, }; }); const refreshAuth = async (failedRequest) => { token = await getOAuthToken(params.mode, params.schemeID, params.secret); if (failedRequest.response) { // eslint-disable-next-line functional/immutable-data failedRequest.response.config.headers = { ...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? createAuthRefreshInterceptor(collectAxiosInstance, refreshAuth, { statusCodes: [401, 403], }); } return collectAxiosInstance; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBeUMsTUFBTSxPQUFPLENBQUM7QUFDOUQsT0FBTyw0QkFBNEIsTUFBTSxvQkFBb0IsQ0FBQztBQUk5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUEyQyxNQUFNLFNBQVMsQ0FBQztBQUV2RSxNQUFNLGdCQUFnQixHQUFjO0lBQ2hDLElBQUksRUFBRSxlQUFlO0lBQ3JCLE1BQU0sRUFBRSxxREFBcUQ7SUFDN0QsTUFBTSxFQUFFLEVBQUU7SUFDVixLQUFLLEVBQUUsZUFBZTtJQUN0QixNQUFNLEVBQUUsRUFBRTtJQUNWLE9BQU8sRUFBRSxFQUFFO0NBQ2QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBNEMsRUFBRSxFQUFFO0lBQzdFLElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFO1FBQ3JGLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNwRDtTQUFNO1FBQ0gsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FDM0M7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQTZCLEVBQUUsRUFBRTtJQUM5RCw2Q0FBNkM7SUFDN0MsSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO0lBRWYsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3RDLE9BQU8sRUFBRTtZQUNMLDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7U0FDekQ7S0FDSixDQUFDLENBQUM7SUFFSCxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBMEIsRUFBRSxFQUFFO1FBQy9FLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7WUFDM0IsS0FBSyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2RDthQUFNLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzVFLEtBQUssR0FBRyxNQUFNLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzVFO1FBRUQsT0FBTztZQUNILEdBQUcsTUFBTTtZQUNULE9BQU8sRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFO1NBQ3ZELENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxhQUF5QixFQUFtQixFQUFFO1FBQ3JFLEtBQUssR0FBRyxNQUFNLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpFLElBQUksYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUN4QixxREFBcUQ7WUFDckQsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHO2dCQUNwQyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU87Z0JBQ3hDLGFBQWEsRUFBRSxLQUFLO2FBQ3ZCLENBQUM7U0FDTDtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUMsQ0FBQztJQUVGLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUU7UUFDN0Isa0VBQWtFO1FBQ2xFLDRCQUE0QixDQUFDLG9CQUFvQixFQUFFLFdBQVcsRUFBRTtZQUM1RCxXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQzFCLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxvQkFBb0IsQ0FBQztBQUNoQyxDQUFDLENBQUMifQ==