feat(admin): вкладки фильтра по статусу в списке пользователей
Задача 3 переопределена оператором: вместо окончательного удаления пользователя (упёрлось в CHECK-constraint'ы participant/chat_messages, требующие миграции схемы — решили отложить) добавлены вкладки «Активные»/«Заблокированные»/«Все» перед полем поиска в админке — список фильтруется по `is_blocked` на бэкенде (GET /admin/users?status=).
This commit is contained in:
@@ -137,6 +137,8 @@ export type AdminUserDetailOut = AdminUserOut
|
||||
|
||||
/** Параметры выборки списка пользователей. */
|
||||
export interface AdminUserQuery {
|
||||
/** Фильтр по блокировке — без параметра отдаются все пользователи. */
|
||||
status?: 'active' | 'blocked'
|
||||
q?: string
|
||||
limit?: number
|
||||
offset?: number
|
||||
@@ -221,7 +223,7 @@ export async function sendConferenceInvitations(id: string, emails?: string[]):
|
||||
|
||||
/** Список пользователей для админки — с поиском и пагинацией. */
|
||||
export async function listAdminUsers(query: AdminUserQuery = {}): Promise<PagedResult<AdminUserOut>> {
|
||||
const qs = toQueryString({ q: query.q, limit: query.limit, offset: query.offset })
|
||||
const qs = toQueryString({ status: query.status, q: query.q, limit: query.limit, offset: query.offset })
|
||||
return apiRequest<PagedResult<AdminUserOut>>(`/admin/users${qs}`)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user