API & Client - sport administration & refactor - #15

This commit is contained in:
Sam
2019-09-22 23:03:56 +02:00
parent a10128f13e
commit 1f8de2eccc
30 changed files with 518 additions and 673 deletions

View File

@ -24,14 +24,29 @@ export const setLoading = loading => ({
loading,
})
export const getOrUpdateData = (action, target, data) => dispatch => {
export const updateSportsData = data => ({
type: 'UPDATE_SPORT_DATA',
data,
})
export const getOrUpdateData = (
action,
target,
data,
canDispatch = true
) => dispatch => {
if (data && data.id && isNaN(data.id)) {
return dispatch(setError(`${target}|Incorrect id`))
}
dispatch(setError(''))
return FitTrackeeApi[action](target, data)
.then(ret => {
if (ret.status === 'success') {
dispatch(setData(target, ret.data))
if (canDispatch) {
dispatch(setData(target, ret.data))
} else if (action === 'updateData' && target === 'sports') {
dispatch(updateSportsData(ret.data.sports[0]))
}
} else {
dispatch(setError(`${target}|${ret.message || ret.status}`))
}