1
0
mirror of https://github.com/fspc/workstand.git synced 2025-03-13 01:43:22 -04:00
2017-05-23 19:30:44 -06:00

42 lines
1.1 KiB
JavaScript

import { setBikes, setBikesFetched, setBikesIsFetching, setBikesFetchFailed, createBike, editBike, mergeBike } from './actions';
import { handleActions } from 'redux-actions';
export default handleActions({
[setBikes]: (state, action) => ({
...state,
entities: action.payload.entities.bikes,
}),
[setBikesIsFetching]: (state, action) => ({
...state,
isFetching: action.payload,
}),
[setBikesFetched]: (state, action) => ({
...state,
fetched: action.payload,
}),
[setBikesFetchFailed]: (state, action) => ({
...state,
fetchFailed: {
message: action.payload,
},
}),
[editBike]: (state, action) => ({
...state,
form: {
bike: action.payload,
create: false,
},
}),
[createBike]: (state, action) => ({
...state,
form: {
bike: null,
create: true,
},
}),
[mergeBike]: (state, action) => ({
...state,
entities: { ...state.entities, ...action.payload.entities.bikes },
})
}, { entities: {}, form: { bike: null, create: undefined }, isFetching: false, fetched: false, fetchFailed: undefined });