2018-04-29 18:23:46 +02:00
|
|
|
import mpwoApi from '../mwpoApi/index'
|
2018-04-30 21:38:09 +02:00
|
|
|
import { history } from '../index'
|
2018-04-29 18:23:46 +02:00
|
|
|
|
|
|
|
|
|
|
|
export const setData = (target, data) => ({
|
|
|
|
type: 'SET_DATA',
|
|
|
|
data,
|
|
|
|
target,
|
|
|
|
})
|
|
|
|
|
2018-04-30 20:08:18 +02:00
|
|
|
export const setError = message => ({
|
2018-04-29 18:23:46 +02:00
|
|
|
type: 'SET_ERROR',
|
2018-04-30 20:08:18 +02:00
|
|
|
message,
|
2018-04-29 18:23:46 +02:00
|
|
|
})
|
|
|
|
|
2018-05-10 23:39:59 +02:00
|
|
|
export const getData = (target, id = null, data = null) => dispatch => {
|
2018-05-04 23:04:44 +02:00
|
|
|
if (id !== null && isNaN(id)) {
|
|
|
|
return dispatch(setError(target, `${target}: Incorrect id`))
|
2018-04-30 21:38:09 +02:00
|
|
|
}
|
2018-05-04 23:04:44 +02:00
|
|
|
return mpwoApi
|
2018-05-10 23:39:59 +02:00
|
|
|
.getData(target, id, data)
|
2018-05-04 23:04:44 +02:00
|
|
|
.then(ret => {
|
|
|
|
if (ret.status === 'success') {
|
|
|
|
dispatch(setData(target, ret.data))
|
|
|
|
} else {
|
2018-05-10 23:39:59 +02:00
|
|
|
dispatch(setError(`${target}: ${ret.message}`))
|
2018-05-04 23:04:44 +02:00
|
|
|
}
|
|
|
|
})
|
|
|
|
.catch(error => dispatch(setError(`${target}: ${error}`)))
|
2018-04-30 21:38:09 +02:00
|
|
|
}
|
|
|
|
|
2018-05-04 23:04:44 +02:00
|
|
|
export const addData = (target, data) => dispatch => mpwoApi
|
|
|
|
.addData(target, data)
|
|
|
|
.then(ret => {
|
|
|
|
if (ret.status === 'created') {
|
|
|
|
history.push(`/admin/${target}`)
|
|
|
|
} else {
|
|
|
|
dispatch(setError(`${target}: ${ret.status}`))
|
2018-04-30 20:08:18 +02:00
|
|
|
}
|
2018-05-04 23:04:44 +02:00
|
|
|
})
|
|
|
|
.catch(error => dispatch(setError(`${target}: ${error}`)))
|
|
|
|
|
|
|
|
export const updateData = (target, data) => dispatch => {
|
|
|
|
if (isNaN(data.id)) {
|
|
|
|
return dispatch(setError(target, `${target}: Incorrect id`))
|
2018-04-29 18:23:46 +02:00
|
|
|
}
|
2018-05-04 23:04:44 +02:00
|
|
|
return mpwoApi
|
|
|
|
.updateData(target, data)
|
|
|
|
.then(ret => {
|
|
|
|
if (ret.status === 'success') {
|
|
|
|
dispatch(setData(target, ret.data))
|
|
|
|
} else {
|
2018-05-10 23:39:59 +02:00
|
|
|
dispatch(setError(`${target}: ${ret.message}`))
|
2018-05-04 23:04:44 +02:00
|
|
|
}
|
|
|
|
})
|
|
|
|
.catch(error => dispatch(setError(`${target}: ${error}`)))
|
2018-04-29 18:23:46 +02:00
|
|
|
}
|
2018-04-30 21:38:09 +02:00
|
|
|
|
2018-05-04 23:04:44 +02:00
|
|
|
export const deleteData = (target, id) => dispatch => {
|
|
|
|
if (isNaN(id)) {
|
|
|
|
return dispatch(setError(target, `${target}: Incorrect id`))
|
2018-04-30 21:38:09 +02:00
|
|
|
}
|
2018-05-04 23:04:44 +02:00
|
|
|
return mpwoApi
|
|
|
|
.deleteData(target, id)
|
|
|
|
.then(ret => {
|
|
|
|
if (ret.status === 204) {
|
|
|
|
history.push(`/admin/${target}`)
|
|
|
|
} else {
|
2018-05-10 23:39:59 +02:00
|
|
|
dispatch(setError(`${target}: ${ret.message}`))
|
2018-05-04 23:04:44 +02:00
|
|
|
}
|
|
|
|
})
|
|
|
|
.catch(error => dispatch(setError(`${target}: ${error}`)))
|
2018-04-30 21:38:09 +02:00
|
|
|
}
|