You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.1 KiB
52 lines
1.1 KiB
import api from '../api'; |
|
|
|
export const STATUS_CARD_FETCH_REQUEST = 'STATUS_CARD_FETCH_REQUEST'; |
|
export const STATUS_CARD_FETCH_SUCCESS = 'STATUS_CARD_FETCH_SUCCESS'; |
|
export const STATUS_CARD_FETCH_FAIL = 'STATUS_CARD_FETCH_FAIL'; |
|
|
|
export function fetchStatusCard(id) { |
|
return (dispatch, getState) => { |
|
if (getState().getIn(['cards', id], null) !== null) { |
|
return; |
|
} |
|
|
|
dispatch(fetchStatusCardRequest(id)); |
|
|
|
api(getState).get(`/api/v1/statuses/${id}/card`).then(response => { |
|
if (!response.data.url) { |
|
return; |
|
} |
|
|
|
dispatch(fetchStatusCardSuccess(id, response.data)); |
|
}).catch(error => { |
|
dispatch(fetchStatusCardFail(id, error)); |
|
}); |
|
}; |
|
}; |
|
|
|
export function fetchStatusCardRequest(id) { |
|
return { |
|
type: STATUS_CARD_FETCH_REQUEST, |
|
id, |
|
skipLoading: true |
|
}; |
|
}; |
|
|
|
export function fetchStatusCardSuccess(id, card) { |
|
return { |
|
type: STATUS_CARD_FETCH_SUCCESS, |
|
id, |
|
card, |
|
skipLoading: true |
|
}; |
|
}; |
|
|
|
export function fetchStatusCardFail(id, error) { |
|
return { |
|
type: STATUS_CARD_FETCH_FAIL, |
|
id, |
|
error, |
|
skipLoading: true, |
|
skipAlert: true |
|
}; |
|
};
|
|
|