mirror of
https://github.com/glitch-soc/mastodon.git
synced 2025-01-31 12:03:10 -05:00
88 lines
2.0 KiB
JavaScript
88 lines
2.0 KiB
JavaScript
import api from '../api';
|
|
|
|
export const LIST_FETCH_REQUEST = 'LIST_FETCH_REQUEST';
|
|
export const LIST_FETCH_SUCCESS = 'LIST_FETCH_SUCCESS';
|
|
export const LIST_FETCH_FAIL = 'LIST_FETCH_FAIL';
|
|
|
|
export const LISTS_FETCH_REQUEST = 'LISTS_FETCH_REQUEST';
|
|
export const LISTS_FETCH_SUCCESS = 'LISTS_FETCH_SUCCESS';
|
|
export const LISTS_FETCH_FAIL = 'LISTS_FETCH_FAIL';
|
|
|
|
export const LIST_DELETE_REQUEST = 'LIST_DELETE_REQUEST';
|
|
export const LIST_DELETE_SUCCESS = 'LIST_DELETE_SUCCESS';
|
|
export const LIST_DELETE_FAIL = 'LIST_DELETE_FAIL';
|
|
|
|
export const fetchList = id => (dispatch, getState) => {
|
|
if (getState().getIn(['lists', id])) {
|
|
return;
|
|
}
|
|
|
|
dispatch(fetchListRequest(id));
|
|
|
|
api().get(`/api/v1/lists/${id}`)
|
|
.then(({ data }) => dispatch(fetchListSuccess(data)))
|
|
.catch(err => dispatch(fetchListFail(id, err)));
|
|
};
|
|
|
|
export const fetchListRequest = id => ({
|
|
type: LIST_FETCH_REQUEST,
|
|
id,
|
|
});
|
|
|
|
export const fetchListSuccess = list => ({
|
|
type: LIST_FETCH_SUCCESS,
|
|
list,
|
|
});
|
|
|
|
export const fetchListFail = (id, error) => ({
|
|
type: LIST_FETCH_FAIL,
|
|
id,
|
|
error,
|
|
});
|
|
|
|
export const fetchLists = () => (dispatch) => {
|
|
dispatch(fetchListsRequest());
|
|
|
|
api().get('/api/v1/lists')
|
|
.then(({ data }) => dispatch(fetchListsSuccess(data)))
|
|
.catch(err => dispatch(fetchListsFail(err)));
|
|
};
|
|
|
|
export const fetchListsRequest = () => ({
|
|
type: LISTS_FETCH_REQUEST,
|
|
});
|
|
|
|
export const fetchListsSuccess = lists => ({
|
|
type: LISTS_FETCH_SUCCESS,
|
|
lists,
|
|
});
|
|
|
|
export const fetchListsFail = error => ({
|
|
type: LISTS_FETCH_FAIL,
|
|
error,
|
|
});
|
|
|
|
export const deleteList = id => (dispatch) => {
|
|
dispatch(deleteListRequest(id));
|
|
|
|
api().delete(`/api/v1/lists/${id}`)
|
|
.then(() => dispatch(deleteListSuccess(id)))
|
|
.catch(err => dispatch(deleteListFail(id, err)));
|
|
};
|
|
|
|
export const deleteListRequest = id => ({
|
|
type: LIST_DELETE_REQUEST,
|
|
id,
|
|
});
|
|
|
|
export const deleteListSuccess = id => ({
|
|
type: LIST_DELETE_SUCCESS,
|
|
id,
|
|
});
|
|
|
|
export const deleteListFail = (id, error) => ({
|
|
type: LIST_DELETE_FAIL,
|
|
id,
|
|
error,
|
|
});
|