mirror of
https://github.com/wassname/talk.git
synced 2026-08-13 12:40:11 +08:00
58 lines
1.3 KiB
JavaScript
58 lines
1.3 KiB
JavaScript
import qs from 'qs';
|
|
|
|
import {
|
|
FETCH_COMMENTERS_REQUEST,
|
|
FETCH_COMMENTERS_SUCCESS,
|
|
FETCH_COMMENTERS_FAILURE,
|
|
SORT_UPDATE,
|
|
COMMENTERS_NEW_PAGE,
|
|
SET_ROLE,
|
|
SET_STATUS
|
|
} from '../constants/community';
|
|
|
|
import {base, getInit, handleResp} from '../helpers/response';
|
|
|
|
export const fetchCommenters = (query = {}) => dispatch => {
|
|
dispatch(requestFetchCommenters());
|
|
fetch(`${base}/user?${qs.stringify(query)}`, getInit('GET'))
|
|
.then(handleResp)
|
|
.then(({result, page, count, limit, totalPages}) =>
|
|
dispatch({
|
|
type: FETCH_COMMENTERS_SUCCESS,
|
|
commenters: result,
|
|
page,
|
|
count,
|
|
limit,
|
|
totalPages
|
|
})
|
|
)
|
|
.catch(error => dispatch({type: FETCH_COMMENTERS_FAILURE, error}));
|
|
};
|
|
|
|
const requestFetchCommenters = () => ({
|
|
type: FETCH_COMMENTERS_REQUEST
|
|
});
|
|
|
|
export const updateSorting = sort => ({
|
|
type: SORT_UPDATE,
|
|
sort
|
|
});
|
|
|
|
export const newPage = () => ({
|
|
type: COMMENTERS_NEW_PAGE
|
|
});
|
|
|
|
export const setRole = (id, role) => dispatch => {
|
|
return fetch(`${base}/user/${id}/role`, getInit('POST', {role}))
|
|
.then(() => {
|
|
return dispatch({type: SET_ROLE, id, role});
|
|
});
|
|
};
|
|
|
|
export const setStatus = (id, status) => dispatch => {
|
|
return fetch(`${base}/user/${id}/status`, getInit('POST', {status}))
|
|
.then(() => {
|
|
return dispatch({type: SET_STATUS, id, status});
|
|
});
|
|
};
|