import { routerMiddleware, routerReducer } from "react-router-redux";
import thunkMiddleware from 'redux-thunk';
import { History } from "history";
+import { handleRedirects } from '../common/redirect-to';
import { authReducer } from "./auth/auth-reducer";
import { authMiddleware } from "./auth/auth-middleware";
const subprocessMiddleware = dataExplorerMiddleware(
new SubprocessMiddlewareService(services, SUBPROCESS_PANEL_ID)
);
+ const redirectToMiddleware = (store: any) => (next: any) => (action: any) => {
+ const state = store.getState();
+
+ if (state.auth && state.auth.apiToken) {
+ const { apiToken } = state.auth;
+ handleRedirects(apiToken);
+ }
+
+ return next(action);
+ };
const middlewares: Middleware[] = [
routerMiddleware(history),
apiClientAuthorizationMiddlewareService,
publicFavoritesMiddleware,
collectionsContentAddress,
- subprocessMiddleware
+ subprocessMiddleware,
];
- const enhancer = composeEnhancers(applyMiddleware(...middlewares));
+ const enhancer = composeEnhancers(applyMiddleware(redirectToMiddleware, ...middlewares));
return createStore(rootReducer, enhancer);
}