chore(client): tweak client

This commit is contained in:
syuilo 2022-06-30 15:32:11 +09:00
parent 6f2d2a71f9
commit 6f3e64f13e
2 changed files with 11 additions and 2 deletions

View file

@ -27,6 +27,12 @@ export const paramDef = {
sort: { type: 'string', enum: ['+follower', '-follower', '+createdAt', '-createdAt', '+updatedAt', '-updatedAt'] }, sort: { type: 'string', enum: ['+follower', '-follower', '+createdAt', '-createdAt', '+updatedAt', '-updatedAt'] },
state: { type: 'string', enum: ['all', 'admin', 'moderator', 'adminOrModerator', 'alive'], default: 'all' }, state: { type: 'string', enum: ['all', 'admin', 'moderator', 'adminOrModerator', 'alive'], default: 'all' },
origin: { type: 'string', enum: ['combined', 'local', 'remote'], default: 'local' }, origin: { type: 'string', enum: ['combined', 'local', 'remote'], default: 'local' },
hostname: {
type: 'string',
nullable: true,
default: null,
description: 'The local host is represented with `null`.',
},
}, },
required: [], required: [],
} as const; } as const;
@ -48,6 +54,10 @@ export default define(meta, paramDef, async (ps, me) => {
case 'remote': query.andWhere('user.host IS NOT NULL'); break; case 'remote': query.andWhere('user.host IS NOT NULL'); break;
} }
if (ps.hostname) {
query.andWhere('user.host = :hostname', { hostname: ps.hostname.toLowerCase() });
}
switch (ps.sort) { switch (ps.sort) {
case '+follower': query.orderBy('user.followersCount', 'DESC'); break; case '+follower': query.orderBy('user.followersCount', 'DESC'); break;
case '-follower': query.orderBy('user.followersCount', 'ASC'); break; case '-follower': query.orderBy('user.followersCount', 'ASC'); break;

View file

@ -143,12 +143,11 @@ let suspended = $ref(false);
let isBlocked = $ref(false); let isBlocked = $ref(false);
const usersPagination = { const usersPagination = {
endpoint: 'admin/show-users' as const, endpoint: iAmModerator ? 'admin/show-users' : 'users' as const,
limit: 10, limit: 10,
params: { params: {
sort: '+updatedAt', sort: '+updatedAt',
state: 'all', state: 'all',
origin: 'remote',
hostname: props.host, hostname: props.host,
}, },
offsetMode: true, offsetMode: true,