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_SUCCESS = 'ADMIN_REMOVE_PERMISSION_GROUP_SUCCESS';
|
||||||
const ADMIN_REMOVE_PERMISSION_GROUP_FAIL = 'ADMIN_REMOVE_PERMISSION_GROUP_FAIL';
|
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 = () =>
|
const fetchConfig = () =>
|
||||||
(dispatch: AppDispatch, getState: () => RootState) => {
|
(dispatch: AppDispatch, getState: () => RootState) => {
|
||||||
dispatch({ type: ADMIN_CONFIG_FETCH_REQUEST });
|
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 {
|
export {
|
||||||
ADMIN_CONFIG_FETCH_REQUEST,
|
ADMIN_CONFIG_FETCH_REQUEST,
|
||||||
ADMIN_CONFIG_FETCH_SUCCESS,
|
ADMIN_CONFIG_FETCH_SUCCESS,
|
||||||
|
@ -478,13 +423,6 @@ export {
|
||||||
ADMIN_REMOVE_PERMISSION_GROUP_REQUEST,
|
ADMIN_REMOVE_PERMISSION_GROUP_REQUEST,
|
||||||
ADMIN_REMOVE_PERMISSION_GROUP_SUCCESS,
|
ADMIN_REMOVE_PERMISSION_GROUP_SUCCESS,
|
||||||
ADMIN_REMOVE_PERMISSION_GROUP_FAIL,
|
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,
|
fetchConfig,
|
||||||
updateConfig,
|
updateConfig,
|
||||||
updateSoapboxConfig,
|
updateSoapboxConfig,
|
||||||
|
@ -508,7 +446,4 @@ export {
|
||||||
promoteToModerator,
|
promoteToModerator,
|
||||||
demoteToUser,
|
demoteToUser,
|
||||||
setRole,
|
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 accounts_meta from './accounts-meta';
|
||||||
import admin from './admin';
|
import admin from './admin';
|
||||||
import admin_user_index from './admin-user-index';
|
|
||||||
import aliases from './aliases';
|
import aliases from './aliases';
|
||||||
import auth from './auth';
|
import auth from './auth';
|
||||||
import backups from './backups';
|
import backups from './backups';
|
||||||
|
@ -60,7 +59,6 @@ import user_lists from './user-lists';
|
||||||
const reducers = {
|
const reducers = {
|
||||||
accounts_meta,
|
accounts_meta,
|
||||||
admin,
|
admin,
|
||||||
admin_user_index,
|
|
||||||
aliases,
|
aliases,
|
||||||
auth,
|
auth,
|
||||||
backups,
|
backups,
|
||||||
|
|
Ładowanie…
Reference in New Issue