Files
MikrotikManager/docs/ux-ui-stage-9.md
T

6.4 KiB
Raw Blame History

Этап 9: VPN и сетевые операции

Статус: начат 2026-09-28, выполнены блоки 9.1–9.3. Основа — существующие ReUI PRO/base-nova, Frame, ServerTileRail, DataGrid и формы. Правила применения сетевой конфигурации не меняем.

Схема и референсы принятого плана

Область Референс Схема доработки
Устройство и объект List 9 Устройство → список → точный объект
Формы Sheet 8 Контекст → ввод → ожидание → результат / ошибка с сохранением ввода
Таблицы Data Grid Filtering 2 Фильтры → таблица устройства → действие

Референсы сохранены из общего плана; новые registry-компоненты не устанавливались.

[Устройство / URL] → [Объект и состояние данных]
                              ↓
                     [Форма / подтверждение]
                              ↓
                 [Один запрос · ожидание ответа]
                       ↙                ↘
            [Ошибка + повтор]     [Подтверждение API]
            контекст сохранён       ↓ обновить список

Карта работ

Раздел Точки интеграции Следующая проверка
WireGuard app/(main)/wireguard/page.tsx, components/wireguard, shared/api/wireguard.ts; URL server/interface Создание, импорт, пиры, переключение и экспорт: ввод, повтор, ответ и права
IPsec app/(main)/ipsec/page.tsx, components/ipsec, shared/api/ipsec.ts Выбор устройства, инициализация, сертификаты/пользователи и ошибки
GRE app/(main)/gre/page.tsx; /api/gre/tunnels, revisions; URL-контекст Запись/удаление и восстановление, повторные нажатия
VXLAN app/(main)/vxlan/page.tsx; /api/vxlan; URL server/tunnel Загрузка/сбой/повтор, контекст и существующие действия
Firewall app/(main)/firewall/page.tsx; правила, адреса, перемещение и история Достоверность записи, права и контекст устройства
Filters app/(main)/filters/page.tsx; /api/filters/rules, revisions, gre-tunnels, recursive-routes Сохранение/применение, ошибки зависимостей и устройство

Инвентаризация определяет точки следующего аудита; перечисление не означает проверки всех обработчиков.

Блок 9.1 — удаление WireGuard

  • Диалог удаления интерфейса/пира блокирует повтор и закрытие до ответа. Ожидание — role=status, ошибка — role=alert; при ошибке сохраняются объект и диалог для повтора.
  • Успех требует ok=true по контракту backend. HTTP 200 с ok=false не закрывает диалог и не показывает успех.
  • При различии ID строки и RouterOS ID для пира используется rosId. Прежний ID остаётся запасным вариантом при отсутствии rosId.
  • Прошли 13 E2E WireGuard: таблицы, URL/устройство, ошибки загрузки и оба удаления с задержкой, 403, неподтверждённым ответом и успешным повтором. Проверяются сервер и ID в DELETE. Lint, TypeScript и diff-check прошли.
  • Сохранён установленный AlertDialog/Base UI, без изменения темы/registry. Получен ReUI audit checklist; изменены поведение и доступные состояния.

Далее: создание/импорт/добавление пира WireGuard — сохранение формы, повторные операции, различие dry-run и применения. Затем остальные разделы по карте. Реальные RouterOS/JWT и сетевые последствия требуют отдельного окружения. Этап 9 не завершён.

Блок 9.2 — достоверность ответа импорта

Ответ проверяется схемой contracts: режим dryRun соответствует запросу, применение подтверждается applied. Ошибка сохраняет текст и сервер. Один E2E с пятью последовательными ответами (403, dry-run, отсутствие applied, повреждённый ответ, успех), lint и TypeScript прошли. Серверный dry-run не добавлен в UI; предпросмотр остаётся локальным. Далее — создание/пиры, защита повторов и закрытия формы импорта во время запроса. Реальные сетевые операции не проверены.

Блок 9.3 — ожидание импорта (2026-09-29)

Повторная отправка, закрытие и редактирование формы блокируются до ответа. Ошибка остаётся в форме, ожидание объявляется; добавлены доступные имена полей. Все 15 профильных E2E прошли, включая двойное нажатие, Escape/внешний клик, сохранение данных после 500 и повтор. Далее — создание интерфейса/пира и подтверждение их операций. Полный аудит сетевых разделов ещё не выполнен.