import api from "../api"; import { importFetchedAccounts } from "./importer"; export const HISTORY_FETCH_REQUEST = "HISTORY_FETCH_REQUEST"; export const HISTORY_FETCH_SUCCESS = "HISTORY_FETCH_SUCCESS"; export const HISTORY_FETCH_FAIL = "HISTORY_FETCH_FAIL"; export const fetchHistory = statusId => (dispatch, getState) => { const loading = getState().getIn(["history", statusId, "loading"]); if (loading) { return; } dispatch(fetchHistoryRequest(statusId)); api(getState).get(`/api/v1/statuses/${statusId}/history`).then(({ data }) => { dispatch(importFetchedAccounts(data.map(x => x.account))); dispatch(fetchHistorySuccess(statusId, data)); }).catch(error => dispatch(fetchHistoryFail(error))); }; export const fetchHistoryRequest = statusId => ({ type: HISTORY_FETCH_REQUEST, statusId, }); export const fetchHistorySuccess = (statusId, history) => ({ type: HISTORY_FETCH_SUCCESS, statusId, history, }); export const fetchHistoryFail = error => ({ type: HISTORY_FETCH_FAIL, error, });