projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
17256: Added map to enable item resolution
[arvados-workbench2.git]
/
src
/
store
/
store.ts
diff --git
a/src/store/store.ts
b/src/store/store.ts
index 030b657662e8b2631f069b18775aa1c97f71f396..517368aa43badea0d26c3bd6dbb54701257e0572 100644
(file)
--- a/
src/store/store.ts
+++ b/
src/store/store.ts
@@
-6,6
+6,7
@@
import { createStore, applyMiddleware, compose, Middleware, combineReducers, Sto
import { routerMiddleware, routerReducer } from "react-router-redux";
import thunkMiddleware from 'redux-thunk';
import { History } from "history";
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";
import { authReducer } from "./auth/auth-reducer";
import { authMiddleware } from "./auth/auth-middleware";
@@
-68,6
+69,7
@@
import { ownerNameReducer } from '~/store/owner-name/owner-name-reducer';
import { SubprocessMiddlewareService } from '~/store/subprocess-panel/subprocess-panel-middleware-service';
import { SUBPROCESS_PANEL_ID } from '~/store/subprocess-panel/subprocess-panel-actions';
import { ALL_PROCESSES_PANEL_ID } from './all-processes-panel/all-processes-panel-action';
import { SubprocessMiddlewareService } from '~/store/subprocess-panel/subprocess-panel-middleware-service';
import { SUBPROCESS_PANEL_ID } from '~/store/subprocess-panel/subprocess-panel-actions';
import { ALL_PROCESSES_PANEL_ID } from './all-processes-panel/all-processes-panel-action';
+import { Config } from '~/common/config';
const composeEnhancers =
(process.env.NODE_ENV === 'development' &&
const composeEnhancers =
(process.env.NODE_ENV === 'development' &&
@@
-79,7
+81,7
@@
export type RootState = ReturnType<ReturnType<typeof createRootReducer>>;
export type RootStore = Store<RootState, Action> & { dispatch: Dispatch<any> };
export type RootStore = Store<RootState, Action> & { dispatch: Dispatch<any> };
-export function configureStore(history: History, services: ServiceRepository): RootStore {
+export function configureStore(history: History, services: ServiceRepository
, config: Config
): RootStore {
const rootReducer = createRootReducer(services);
const projectPanelMiddleware = dataExplorerMiddleware(
const rootReducer = createRootReducer(services);
const projectPanelMiddleware = dataExplorerMiddleware(
@@
-130,6
+132,15
@@
export function configureStore(history: History, services: ServiceRepository): R
const subprocessMiddleware = dataExplorerMiddleware(
new SubprocessMiddlewareService(services, SUBPROCESS_PANEL_ID)
);
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) {
+ handleRedirects(state.auth.apiToken, config);
+ }
+
+ return next(action);
+ };
const middlewares: Middleware[] = [
routerMiddleware(history),
const middlewares: Middleware[] = [
routerMiddleware(history),
@@
-150,9
+161,10
@@
export function configureStore(history: History, services: ServiceRepository): R
apiClientAuthorizationMiddlewareService,
publicFavoritesMiddleware,
collectionsContentAddress,
apiClientAuthorizationMiddlewareService,
publicFavoritesMiddleware,
collectionsContentAddress,
- subprocessMiddleware
+ subprocessMiddleware
,
];
];
- const enhancer = composeEnhancers(applyMiddleware(...middlewares));
+
+ const enhancer = composeEnhancers(applyMiddleware(redirectToMiddleware, ...middlewares));
return createStore(rootReducer, enhancer);
}
return createStore(rootReducer, enhancer);
}