kopia lustrzana https://gitlab.com/soapbox-pub/soapbox
Remove "admin user index" reducer (and related actions)
rodzic
c0f8c9d5e7
commit
3cbf8dac00
|
@ -70,16 +70,6 @@ const ADMIN_REMOVE_PERMISSION_GROUP_REQUEST = 'ADMIN_REMOVE_PERMISSION_GROUP_REQ
|
|||
const ADMIN_REMOVE_PERMISSION_GROUP_SUCCESS = 'ADMIN_REMOVE_PERMISSION_GROUP_SUCCESS';
|
||||
const ADMIN_REMOVE_PERMISSION_GROUP_FAIL = 'ADMIN_REMOVE_PERMISSION_GROUP_FAIL';
|
||||
|
||||
const ADMIN_USER_INDEX_EXPAND_FAIL = 'ADMIN_USER_INDEX_EXPAND_FAIL';
|
||||
const ADMIN_USER_INDEX_EXPAND_REQUEST = 'ADMIN_USER_INDEX_EXPAND_REQUEST';
|
||||
const ADMIN_USER_INDEX_EXPAND_SUCCESS = 'ADMIN_USER_INDEX_EXPAND_SUCCESS';
|
||||
|
||||
const ADMIN_USER_INDEX_FETCH_FAIL = 'ADMIN_USER_INDEX_FETCH_FAIL';
|
||||
const ADMIN_USER_INDEX_FETCH_REQUEST = 'ADMIN_USER_INDEX_FETCH_REQUEST';
|
||||
const ADMIN_USER_INDEX_FETCH_SUCCESS = 'ADMIN_USER_INDEX_FETCH_SUCCESS';
|
||||
|
||||
const ADMIN_USER_INDEX_QUERY_SET = 'ADMIN_USER_INDEX_QUERY_SET';
|
||||
|
||||
const fetchConfig = () =>
|
||||
(dispatch: AppDispatch, getState: () => RootState) => {
|
||||
dispatch({ type: ADMIN_CONFIG_FETCH_REQUEST });
|
||||
|
@ -387,51 +377,6 @@ const setRole = (accountId: string, role: 'user' | 'moderator' | 'admin') =>
|
|||
}
|
||||
};
|
||||
|
||||
const setUserIndexQuery = (query: string) => ({ type: ADMIN_USER_INDEX_QUERY_SET, query });
|
||||
|
||||
const fetchUserIndex = () =>
|
||||
(dispatch: AppDispatch, getState: () => RootState) => {
|
||||
const { filters, page, query, pageSize, isLoading } = getState().admin_user_index;
|
||||
|
||||
if (isLoading) return;
|
||||
|
||||
dispatch({ type: ADMIN_USER_INDEX_FETCH_REQUEST });
|
||||
|
||||
dispatch(fetchUsers([...filters], page + 1, query, pageSize))
|
||||
.then((data: any) => {
|
||||
if (data.error) {
|
||||
dispatch({ type: ADMIN_USER_INDEX_FETCH_FAIL });
|
||||
} else {
|
||||
const { accounts, next } = data;
|
||||
dispatch({ type: ADMIN_USER_INDEX_FETCH_SUCCESS, accounts, next });
|
||||
}
|
||||
}).catch(() => {
|
||||
dispatch({ type: ADMIN_USER_INDEX_FETCH_FAIL });
|
||||
});
|
||||
};
|
||||
|
||||
const expandUserIndex = () =>
|
||||
(dispatch: AppDispatch, getState: () => RootState) => {
|
||||
const { filters, page, query, pageSize, isLoading, next, loaded } = getState().admin_user_index;
|
||||
|
||||
if (!loaded || isLoading) return;
|
||||
|
||||
dispatch({ type: ADMIN_USER_INDEX_EXPAND_REQUEST });
|
||||
|
||||
dispatch(fetchUsers([...filters], page + 1, query, pageSize, next))
|
||||
.then((data) => {
|
||||
if ('error' in data) {
|
||||
dispatch({ type: ADMIN_USER_INDEX_EXPAND_FAIL });
|
||||
} else {
|
||||
const { accounts, next } = data;
|
||||
dispatch({ type: ADMIN_USER_INDEX_EXPAND_SUCCESS, accounts, next });
|
||||
}
|
||||
}).catch(() => {
|
||||
dispatch({ type: ADMIN_USER_INDEX_EXPAND_FAIL });
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
export {
|
||||
ADMIN_CONFIG_FETCH_REQUEST,
|
||||
ADMIN_CONFIG_FETCH_SUCCESS,
|
||||
|
@ -478,13 +423,6 @@ export {
|
|||
ADMIN_REMOVE_PERMISSION_GROUP_REQUEST,
|
||||
ADMIN_REMOVE_PERMISSION_GROUP_SUCCESS,
|
||||
ADMIN_REMOVE_PERMISSION_GROUP_FAIL,
|
||||
ADMIN_USER_INDEX_EXPAND_FAIL,
|
||||
ADMIN_USER_INDEX_EXPAND_REQUEST,
|
||||
ADMIN_USER_INDEX_EXPAND_SUCCESS,
|
||||
ADMIN_USER_INDEX_FETCH_FAIL,
|
||||
ADMIN_USER_INDEX_FETCH_REQUEST,
|
||||
ADMIN_USER_INDEX_FETCH_SUCCESS,
|
||||
ADMIN_USER_INDEX_QUERY_SET,
|
||||
fetchConfig,
|
||||
updateConfig,
|
||||
updateSoapboxConfig,
|
||||
|
@ -508,7 +446,4 @@ export {
|
|||
promoteToModerator,
|
||||
demoteToUser,
|
||||
setRole,
|
||||
setUserIndexQuery,
|
||||
fetchUserIndex,
|
||||
expandUserIndex,
|
||||
};
|
||||
|
|
|
@ -1,76 +0,0 @@
|
|||
import {
|
||||
ADMIN_USER_INDEX_EXPAND_FAIL,
|
||||
ADMIN_USER_INDEX_EXPAND_REQUEST,
|
||||
ADMIN_USER_INDEX_EXPAND_SUCCESS,
|
||||
ADMIN_USER_INDEX_FETCH_FAIL,
|
||||
ADMIN_USER_INDEX_FETCH_REQUEST,
|
||||
ADMIN_USER_INDEX_FETCH_SUCCESS,
|
||||
ADMIN_USER_INDEX_QUERY_SET,
|
||||
} from 'soapbox/actions/admin';
|
||||
|
||||
import type { AnyAction } from 'redux';
|
||||
|
||||
interface State {
|
||||
isLoading: boolean;
|
||||
loaded: boolean;
|
||||
items: Set<string>;
|
||||
filters: Set<string>;
|
||||
pageSize: number;
|
||||
page: number;
|
||||
query: string;
|
||||
next: string | null;
|
||||
}
|
||||
|
||||
function createState(): State {
|
||||
return {
|
||||
isLoading: false,
|
||||
loaded: false,
|
||||
items: new Set(),
|
||||
filters: new Set(['local', 'active']),
|
||||
pageSize: 50,
|
||||
page: -1,
|
||||
query: '',
|
||||
next: null,
|
||||
};
|
||||
}
|
||||
|
||||
export default function admin_user_index(state: State = createState(), action: AnyAction): State {
|
||||
switch (action.type) {
|
||||
case ADMIN_USER_INDEX_QUERY_SET:
|
||||
return { ...state, query: action.query };
|
||||
case ADMIN_USER_INDEX_FETCH_REQUEST:
|
||||
return {
|
||||
...state,
|
||||
isLoading: true,
|
||||
loaded: true,
|
||||
items: new Set(),
|
||||
page: 0,
|
||||
next: null,
|
||||
};
|
||||
case ADMIN_USER_INDEX_FETCH_SUCCESS:
|
||||
return {
|
||||
...state,
|
||||
isLoading: false,
|
||||
loaded: true,
|
||||
items: new Set(action.accounts.map((account: { id: string }) => account.id)),
|
||||
page: 1,
|
||||
next: action.next,
|
||||
};
|
||||
case ADMIN_USER_INDEX_FETCH_FAIL:
|
||||
case ADMIN_USER_INDEX_EXPAND_FAIL:
|
||||
return { ...state, isLoading: false };
|
||||
case ADMIN_USER_INDEX_EXPAND_REQUEST:
|
||||
return { ...state, isLoading: true };
|
||||
case ADMIN_USER_INDEX_EXPAND_SUCCESS:
|
||||
return {
|
||||
...state,
|
||||
isLoading: false,
|
||||
loaded: true,
|
||||
items: new Set([...state.items, ...action.accounts.map((account: { id: string }) => account.id)]),
|
||||
page: 1,
|
||||
next: action.next,
|
||||
};
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
|
@ -4,7 +4,6 @@ import entities from 'soapbox/entity-store/reducer';
|
|||
|
||||
import accounts_meta from './accounts-meta';
|
||||
import admin from './admin';
|
||||
import admin_user_index from './admin-user-index';
|
||||
import aliases from './aliases';
|
||||
import auth from './auth';
|
||||
import backups from './backups';
|
||||
|
@ -60,7 +59,6 @@ import user_lists from './user-lists';
|
|||
const reducers = {
|
||||
accounts_meta,
|
||||
admin,
|
||||
admin_user_index,
|
||||
aliases,
|
||||
auth,
|
||||
backups,
|
||||
|
|
Ładowanie…
Reference in New Issue