fix(api): проверять параметры запуска теста скорости до операции

This commit is contained in:
Denozordec committed 2026-10-07 17:30:52 +07:00
1 parent b0e114b56d
commit b59944b573
7 files changed
+114 -62

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
# План реализации UX/UI по пятичасовым окнам
Актуальное продолжение 2026-10-07: 12.3.78/78.1 завершены: pair snapshot/history,73browser/8context,14pure+HTTP/RBAC,types/build; uptime lint0warnings. Общие main1176(579e816)/context221(a3fcba0) сохранены отдельно. Следующий12.3.79: строгий runtime body POST /uptime/speed-test до native операции (prefix IDs/enums/duration), команды/права сохранить. Внешняя12.5 не выполнена.
Актуальное продолжение 2026-10-07: 12.3.79 завершён: строгий POST speed-test, 26 отказов до DB/native, HTTP/RBAC и 16 pure checks; contracts/backend/frontend build прошли. Общие main1176(579e816)/context221(a3fcba0) относятся к указанным HEAD. Следующий12.3.80: принадлежность результата полным параметрам пробы. Внешняя12.5 не выполнена.
Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-04. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат.
+10 -2
View File
@@ -1,6 +1,6 @@
# UX/UI: журнал реализации
Актуальное продолжение 2026-10-07: 12.3.78/78.1 завершены: pair snapshot/history,73browser/8context,14pure+HTTP/RBAC,types/build; uptime lint0warnings. Общие main1176(579e816)/context221(a3fcba0) сохранены отдельно. Следующий12.3.79: строгий runtime body POST /uptime/speed-test до native операции (prefix IDs/enums/duration), команды/права сохранить. Внешняя12.5 не выполнена.
Актуальное продолжение 2026-10-07: 12.3.79 завершён: строгий POST speed-test, 26 отказов до DB/native, HTTP/RBAC и 16 pure checks; contracts/backend/frontend build прошли. Общие main1176(579e816)/context221(a3fcba0) относятся к указанным HEAD. Следующий12.3.80: принадлежность результата полным параметрам пробы. Внешняя12.5 не выполнена.
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
@@ -32,7 +32,15 @@
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | В работе. Локальные блоки до12.3.78.1 завершены. Общая main1176/1176 на579e816 и context221/221 наa3fcba0 прошли; последующий функциональный delta проверен73browser/8context. Следующий12.3.79; внешняя12.5 не выполнена. |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | В работе. Локальные блоки до12.3.79 завершены. Общая main1176/1176 на579e816 и context221/221 наa3fcba0 прошли; последующий функциональный delta проверен73browser/8context. Следующий12.3.80; внешняя12.5 не выполнена. |
## 12.3.79 — строгие параметры команды speed-test (2026-10-07)
POST /uptime/speed-test проверяет runtime DTO до поиска устройств и запуска native операции. Отклоняются частичные/неканонические ID, неверные enum, дробная или недопустимая длительность, неверные типы текстовых полей и NUL. Валидные значения по умолчанию tcp/both/10s, ad-hoc без probeId, обрезка пробелов и прежние команды/права сохранены. Проверка вынесена в общий контракт, HTTP route — в фабрику с зависимостями. Ошибки запуска сохраняют нормализованные параметры; конфликт пары даёт409.
26 неверных HTTP bodies не вызывают поиск серверов, запуск или запись истории. Fastify inject проверил defaults/ad-hoc,404,409,400,502/timeout и JWT401/403/разрешённый mm:uptime:write. Дополнительно16 pure rate/status/persistence проверок, contracts/backend/frontend production builds, non-incremental TypeScript, targeted contract lint и diff check прошли. PostgreSQL и RouterOS не запускались; внешний12.5 остаётся открытым. Общие main/context результаты не объявлены проверкой нового HEAD.
Следующий12.3.80: текущая привязка защищает пару устройств, но не изменение интерфейсов, протокола, направления и длительности во время теста; проверить принадлежность snapshot полным параметрам без изменения сетевых команд.
## 12.3.78.1 — удаление неиспользуемого кода прежней таблицы (2026-10-07)
+9
View File
@@ -894,3 +894,12 @@ Main1176 на579e816 и backend ownership delta25pure/5browser наa3fcba0 ос
2026-10-07. Из uptime удалены неиспользуемые MiniBar/resBarColor/resPctColor/SortIcon/ResSortKey,2импорта и чистое вычислениеy1,3неактуальных eslint-disable directives. Reference search и предыдущий lint подтверждали отсутствие использования; активные render/API/measurement paths не менялись. Установленные ReUI primitives/hooks/theme не изменены.
Targeted lint страницы/helpers/tests теперь0errors/0warnings (до этого9warnings), non-incremental TypeScript и production frontend build passed. Для удаления неиспользуемых объявлений не добавлены повторяющие реализацию тесты; функциональный78 delta73browser/8context/14pure+backend HTTP/RBAC сохранён в предыдущем блоке. Следующий79: runtime command body schema до DB/native. Внешняя12.5 не выполнена; полная матрица относится к точным ранее указанным HEAD.
## 12.3.79 — строгие параметры команды speed-test (2026-10-07)
POST /uptime/speed-test проверяет runtime DTO до поиска устройств и запуска native операции. Отклоняются частичные/неканонические ID, неверные enum, дробная или недопустимая длительность, неверные типы текстовых полей и NUL. Валидные значения по умолчанию tcp/both/10s, ad-hoc без probeId, обрезка пробелов и прежние команды/права сохранены. Проверка вынесена в общий контракт, HTTP route — в фабрику с зависимостями. Ошибки запуска сохраняют нормализованные параметры; конфликт пары даёт409.
26 неверных HTTP bodies не вызывают поиск серверов, запуск или запись истории. Fastify inject проверил defaults/ad-hoc,404,409,400,502/timeout и JWT401/403/разрешённый mm:uptime:write. Дополнительно16 pure rate/status/persistence проверок, contracts/backend/frontend production builds, non-incremental TypeScript, targeted contract lint и diff check прошли. PostgreSQL и RouterOS не запускались; внешний12.5 остаётся открытым. Общие main/context результаты не объявлены проверкой нового HEAD.
Следующий12.3.80: текущая привязка защищает пару устройств, но не изменение интерфейсов, протокола, направления и длительности во время теста; проверить принадлежность snapshot полным параметрам без изменения сетевых команд.