public/actions/PillarsActions/savePillar.js (33 lines of code) (raw):
import tagManagerApi from '../../util/tagManagerApi';
export const PILLAR_SAVE_REQUEST = 'PILLAR_SAVE_REQUEST';
export const PILLAR_SAVE_RECEIVE = 'PILLAR_SAVE_RECEIVE';
export const PILLAR_SAVE_ERROR = 'PILLAR_SAVE_ERROR';
function requestPillarSave() {
return {
type: PILLAR_SAVE_REQUEST,
receivedAt: Date.now()
};
}
function recievePillarSave(pillar) {
return {
type: PILLAR_SAVE_RECEIVE,
pillar: pillar,
receivedAt: Date.now()
};
}
function errorPillarSave(error) {
return {
type: PILLAR_SAVE_ERROR,
message: 'Could not save pillar',
error: error,
receivedAt: Date.now()
};
}
export function savePillar(pillar) {
return dispatch => {
dispatch(requestPillarSave());
return tagManagerApi.savePillar(pillar.id, pillar)
.then(res => dispatch(recievePillarSave(res)))
.fail(error => dispatch(errorPillarSave(error)));
};
}