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;