Procházet zdrojové kódy

Finished feature #1988

bugfix/1988
Djordje Mitrovic před 3 roky
rodič
revize
aa2a20397e

+ 3
- 1
src/store/index.js Zobrazit soubor

@@ -7,6 +7,7 @@ import requestStatusMiddleware from "./middleware/requestStatusMiddleware";
import internalServerErrorMiddleware from "./middleware/internalServerErrorMiddleware";
import persistStore from "redux-persist/es/persistStore";
import accessTokensMiddleware from "./middleware/accessTokensMiddleware";
import authenticationMiddleware from "./middleware/authenticationMiddleware";

const composeEnhancers =
(window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ &&
@@ -24,7 +25,8 @@ export const store = createStore(
loadingMiddleware,
requestStatusMiddleware,
internalServerErrorMiddleware,
accessTokensMiddleware
accessTokensMiddleware,
authenticationMiddleware
)
)
);

+ 24
- 0
src/store/middleware/authenticationMiddleware.js Zobrazit soubor

@@ -0,0 +1,24 @@
import i18next from "i18next";
import { attachPostRequestListener } from "../../request";
import { logoutUser } from "../actions/login/loginActions";
import { makeErrorToastMessage } from "../utils/makeToastMessage";

//Interceptor unique name
export const authenticationMiddlewareInterceptorName = "AUTHENTICATION_MIDDLEWARE";

export default ({ dispatch }) =>
(next) =>
(action) => {
attachPostRequestListener((error) => {
if (!error.response) {
return makeErrorToastMessage(i18next.t("apiErrors.somethingWentWrong"));
}
if (error.response.status === 401) {
dispatch(logoutUser());
return makeErrorToastMessage(i18next.t("apiErrors.somethingWentWrong"));
}
return Promise.reject(error);
}, authenticationMiddlewareInterceptorName);

next(action);
};

Načítá se…
Zrušit
Uložit