Files
ayurishchevandClaude Sonnet 5 0914209bf8 Групповое удаление бэкапов, поддержка CHR, строгое сравнение версий ROS
Групповое удаление бэкапов (docs/changes/013):
- страница «Резервные копии»: чекбоксы, «выбрать все», панель «Выбрано: N /
  Удалить / Снять выбор» вместо фильтров, подтверждение, итог удаления;
- backups.delete_many: все ключи проверяются до удаления, удаление параллельное;
  UI POST /backups/delete-many, API POST /api/v1/backups/delete;
- выбор строк в app.js обобщён (data-select) для устройств и бэкапов.

Поддержка CHR (docs/changes/014):
- у CHR нет /system/routerboard (HTTP 400): устройство больше не считается
  недоступным, версия FW не показывается, обновление FW пропускается;
- «есть обновление ROS» определяется строгим сравнением версий (на канале
  long-term последняя версия может быть старше установленной);
- в таблице указана причина недоступности: авторизация / ошибка ответа /
  нет соединения.

Тесты: 11 из 11.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-19 14:11:32 +03:00

1.7 KiB

План: 013 — выбор файлов и групповое удаление бэкапов

Запрос: комментарий владельца к листу «Резервные копии» в макете — «добавить селектор через checkbox и кнопку для операции группового удаления». Решение (макет и приложение одинаково):

  • Колонка чекбоксов и «выбрать все» в таблице файлов; при выборе полоса фильтров заменяется панелью «Выбрано: N · Удалить · Снять выбор» (тот же приём, что на странице устройств; логика выбора общая — input[data-select] в app.js).
  • «Удалить» — с подтверждением и числом файлов; после удаления возврат на страницу с теми же фильтрами и итогом («Удалено файлов: N; не удалось: M»).
  • Сервер: backups.delete_many — все ключи проверяются до начала удаления (чужой ключ или >500 файлов — ошибка, ничего не удаляется), удаление параллельное (8), сбой одного файла не останавливает остальные. UI: POST /backups/delete-many; API: POST /api/v1/backups/delete {"keys": [...]} → {"deleted": N, "failed": M}.
  • Макет: лист «Резервные копии» обновлён, добавлен лист «выбраны файлы, групповое удаление».