From bba7fe9fbaa4e0040d2e1a4e105314c2f2ad443c Mon Sep 17 00:00:00 2001 From: himanshu-kansal Date: Mon, 23 Jan 2023 14:33:07 +0530 Subject: [PATCH] Bug fix --- ProtectedRouter.tsx | 3 +++ src/components/utlis/apiHelper.ts | 19 ++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ProtectedRouter.tsx b/ProtectedRouter.tsx index 5793a29c..13738c07 100644 --- a/ProtectedRouter.tsx +++ b/ProtectedRouter.tsx @@ -7,6 +7,7 @@ import { useSelector } from 'react-redux'; import { _map } from './RN-UI-LIB/src/utlis/common'; import { GenericType } from './src/common/GenericTypes'; import Widget from './src/components/form'; +import { registerNavigateAndDispatch } from './src/components/utlis/apiHelper'; import { setGlobalUserData } from './src/constants/Global'; import { useAppDispatch } from './src/hooks'; import useFirestoreUpdates from './src/hooks/useFirestoreUpdates'; @@ -54,6 +55,8 @@ const ProtectedRouter = () => { } }); + registerNavigateAndDispatch(dispatch); + return ( {isLoggedIn ? ( diff --git a/src/components/utlis/apiHelper.ts b/src/components/utlis/apiHelper.ts index 17a064d2..6f470b46 100644 --- a/src/components/utlis/apiHelper.ts +++ b/src/components/utlis/apiHelper.ts @@ -43,6 +43,16 @@ API_URLS[ApiKeys.IMAGE_SIGNED_URLS] = '/cases/get-signed-urls'; const MOCK_API_URLS: Record = {} as Record; +export const API_STATUS_CODE = { + OK: 200, + CREATED: 201, + BAD_REQUEST: 400, + UNAUTHORIZED: 401, + FORBIDDEN: 403, + NOT_FOUND: 404, + INTERNAL_SERVER_ERROR: 500 +}; + let dispatch: Dispatch; const getErrorMessage = (err: any) => { @@ -163,7 +173,7 @@ axiosInstance.interceptors.response.use( }); } - if (response.status === 401) { + if ([API_STATUS_CODE.UNAUTHORIZED, API_STATUS_CODE.FORBIDDEN].includes(response.status)) { // Reset user info dispatch && dispatch( @@ -192,9 +202,8 @@ axiosInstance.defaults.headers.common['Content-Type'] = 'application/json'; axiosInstance.defaults.baseURL = BASE_AV_APP_URL; // TODO:: Ideally should happen through middlewares. -// export const registerNavigateAndDispatch = ( -// navigateParam: NavigateFunction, -// dispatchParam: Dispatch -// ) => ((navigate = navigateParam), (dispatch = dispatchParam)); +export const registerNavigateAndDispatch = ( + dispatchParam: Dispatch +) => ((dispatch = dispatchParam)); export default axiosInstance;