27 lines
781 B
JavaScript
27 lines
781 B
JavaScript
import { Map, List, fromJS } from "immutable";
|
|
|
|
export const defaultState = Map({
|
|
fetchingModules: false,
|
|
users: List(),
|
|
stats: Map({}),
|
|
modules: Map({})
|
|
});
|
|
|
|
const handlers = {
|
|
ADMIN_LIST_USERS_FULFILLED: (state, action) =>
|
|
state.set("users", fromJS(action.payload.response.data)),
|
|
ADMIN_GET_STATS_FULFILLED: (state, action) =>
|
|
state.set("stats", fromJS(action.payload.response.data)),
|
|
ADMIN_GET_MODULES_PENDING: state => state.set("fetchingModules", true),
|
|
ADMIN_GET_MODULES_FULFILLED: (state, action) =>
|
|
state.merge(
|
|
fromJS({
|
|
modules: action.payload.response.data,
|
|
fetchingModules: false
|
|
})
|
|
)
|
|
};
|
|
|
|
export default (state = defaultState, action) =>
|
|
handlers[action.type] ? handlers[action.type](state, action) : state;
|