feat(admin): wire Admin Users management (A9)

User list with create dialog, role toggle, (de)activate, and reset-password;
self-lockout guard. Adds getUser/resetPassword endpoints, an isActive field on
the User type, and en/ru strings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Цвылев Александр Вадимович
2026-07-28 20:40:36 +03:00
parent 57044dabba
commit 28d9e59e34
6 changed files with 557 additions and 8 deletions
+43
View File
@@ -401,6 +401,49 @@ const ru: Translations = {
sources: 'Источники',
instance: 'Сервер',
},
users: {
add: 'Добавить',
empty: 'Пользователей пока нет.',
you: '(вы)',
added: 'Добавлен {{date}}',
role: {
admin: 'Админ',
user: 'Пользователь',
},
status: {
blocked: 'Заблокирован',
},
newDialog: {
title: 'Новый пользователь',
username: 'Логин',
password: 'Пароль',
create: 'Создать',
cancel: 'Отмена',
error: 'Не удалось создать пользователя — возможно, логин занят.',
},
menu: {
options: 'Действия',
makeAdmin: 'Сделать админом',
makeUser: 'Снять админа',
resetPassword: 'Сбросить пароль',
activate: 'Разблокировать',
deactivate: 'Заблокировать',
},
resetDialog: {
title: 'Сброс пароля — {{name}}',
newPassword: 'Новый пароль',
submit: 'Задать пароль',
cancel: 'Отмена',
done: 'Пароль обновлён.',
},
deactivateDialog: {
title: 'Заблокировать пользователя?',
description:
'{{name}} будет разлогинен и не сможет войти. Позже можно разблокировать.',
confirm: 'Заблокировать',
cancel: 'Отмена',
},
},
},
notFound: {
title: 'Страница не найдена',