public/js/actions/AtomActions/takeDownAtom.js (36 lines of code) (raw):
import AtomsApi from '../../services/AtomsApi';
import {logError} from '../../util/logger';
function requestAtomTakeDown(atom) {
return {
type: 'ATOM_TAKE_DOWN_REQUEST',
atom: atom,
receivedAt: Date.now()
};
}
function receiveAtomTakeDown(atom) {
return {
type: 'ATOM_TAKE_DOWN_RECEIVE',
atom: atom,
receivedAt: Date.now()
};
}
function errorTakingDownAtom(error) {
logError(error);
return {
type: 'SHOW_ERROR',
message: 'Could not take down atom',
error: error,
receivedAt: Date.now()
};
}
export function takeDownAtom(atom) {
return dispatch => {
dispatch(requestAtomTakeDown(atom));
return AtomsApi.takeDownAtom(atom)
.then(res => res.json())
.then(atom => {
dispatch(receiveAtomTakeDown(atom));
})
.catch(error => dispatch(errorTakingDownAtom(error)));
};
}