2020-08-06 16:27:51 +02:00
|
|
|
/* eslint-disable consistent-return */
|
|
|
|
import produce from 'immer';
|
|
|
|
|
|
|
|
export const initialState = {
|
|
|
|
permissions: {},
|
|
|
|
routes: {},
|
|
|
|
isLoading: true,
|
|
|
|
};
|
|
|
|
|
|
|
|
const reducer = (state, action) =>
|
2022-08-08 23:33:39 +02:00
|
|
|
produce(state, (draftState) => {
|
2020-08-06 16:27:51 +02:00
|
|
|
switch (action.type) {
|
|
|
|
case 'GET_DATA': {
|
|
|
|
draftState.isLoading = true;
|
|
|
|
draftState.permissions = {};
|
|
|
|
draftState.routes = {};
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case 'GET_DATA_SUCCEEDED': {
|
|
|
|
draftState.permissions = action.permissions;
|
|
|
|
draftState.routes = action.routes;
|
|
|
|
draftState.isLoading = false;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case 'GET_DATA_ERROR': {
|
|
|
|
draftState.isLoading = false;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
default:
|
|
|
|
return draftState;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
export default reducer;
|