public/actions/TagActions/saveTag.js (33 lines of code) (raw):

import tagManagerApi from '../../util/tagManagerApi'; export const TAG_SAVE_REQUEST = 'TAG_SAVE_REQUEST'; export const TAG_SAVE_RECEIVE = 'TAG_SAVE_RECEIVE'; export const TAG_SAVE_ERROR = 'TAG_SAVE_ERROR'; function requestTagSave() { return { type: TAG_SAVE_REQUEST, receivedAt: Date.now() }; } function recieveTagSave(tag) { return { type: TAG_SAVE_RECEIVE, tag: tag, receivedAt: Date.now() }; } function errorTagSave(error) { return { type: TAG_SAVE_ERROR, message: 'Could not save tag', error: error, receivedAt: Date.now() }; } export function saveTag(tag) { return dispatch => { dispatch(requestTagSave()); return tagManagerApi.saveTag(tag.id, tag) .then(res => dispatch(recieveTagSave(res))) .fail(error => dispatch(errorTagSave(error))); }; }