import api from "../api"; export const ACCOUNT_NOTE_SUBMIT_REQUEST = "ACCOUNT_NOTE_SUBMIT_REQUEST"; export const ACCOUNT_NOTE_SUBMIT_SUCCESS = "ACCOUNT_NOTE_SUBMIT_SUCCESS"; export const ACCOUNT_NOTE_SUBMIT_FAIL = "ACCOUNT_NOTE_SUBMIT_FAIL"; export const ACCOUNT_NOTE_INIT_EDIT = "ACCOUNT_NOTE_INIT_EDIT"; export const ACCOUNT_NOTE_CANCEL = "ACCOUNT_NOTE_CANCEL"; export const ACCOUNT_NOTE_CHANGE_COMMENT = "ACCOUNT_NOTE_CHANGE_COMMENT"; export function submitAccountNote() { return (dispatch, getState) => { dispatch(submitAccountNoteRequest()); const id = getState().getIn(["account_notes", "edit", "account_id"]); api(getState).post(`/api/v1/accounts/${id}/note`, { comment: getState().getIn(["account_notes", "edit", "comment"]), }).then(response => { dispatch(submitAccountNoteSuccess(response.data)); }).catch(error => dispatch(submitAccountNoteFail(error))); }; } export function submitAccountNoteRequest() { return { type: ACCOUNT_NOTE_SUBMIT_REQUEST, }; } export function submitAccountNoteSuccess(relationship) { return { type: ACCOUNT_NOTE_SUBMIT_SUCCESS, relationship, }; } export function submitAccountNoteFail(error) { return { type: ACCOUNT_NOTE_SUBMIT_FAIL, error, }; } export function initEditAccountNote(account) { return (dispatch, getState) => { const comment = getState().getIn(["relationships", account.get("id"), "note"]); dispatch({ type: ACCOUNT_NOTE_INIT_EDIT, account, comment, }); }; } export function cancelAccountNote() { return { type: ACCOUNT_NOTE_CANCEL, }; } export function changeAccountNoteComment(comment) { return { type: ACCOUNT_NOTE_CHANGE_COMMENT, comment, }; }