30 lines
847 B
JavaScript
30 lines
847 B
JavaScript
import { List, Map, fromJS } from "immutable";
|
|
|
|
const defaultState = Map({
|
|
loadingPublic: false,
|
|
loadingManaged: false,
|
|
public: List(),
|
|
managed: List()
|
|
});
|
|
|
|
const handlers = {
|
|
PUBLIC_POLOCHON_LIST_FETCH_PENDING: state => state.set("loadingPublic", true),
|
|
PUBLIC_POLOCHON_LIST_FETCH_FULFILLED: (state, action) => {
|
|
return state.merge({
|
|
loadingPublic: false,
|
|
public: List(fromJS(action.payload.response.data))
|
|
});
|
|
},
|
|
MANAGED_POLOCHON_LIST_FETCH_PENDING: state =>
|
|
state.set("loadingManaged", true),
|
|
MANAGED_POLOCHON_LIST_FETCH_FULFILLED: (state, action) => {
|
|
return state.merge({
|
|
loadingManaged: false,
|
|
managed: List(fromJS(action.payload.response.data))
|
|
});
|
|
}
|
|
};
|
|
|
|
export default (state = defaultState, action) =>
|
|
handlers[action.type] ? handlers[action.type](state, action) : state;
|