Групповое удаление бэкапов, поддержка 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>
This commit is contained in:
1 parent
4c1841b61b
commit
0914209bf8
16 files changed
+194
-20
No files matched your search
@@ -0,0 +1,15 @@
|
||||
# Итоги: 013 — групповое удаление бэкапов
|
||||
|
||||
## Сделано
|
||||
- Макет (версия 6): колонка чекбоксов и новый лист с панелью группового удаления.
|
||||
- Приложение: выбор строк, панель «Удалить / Снять выбор», подтверждение с числом файлов, итог на странице, сохранение фильтров при возврате; иконка «корзина».
|
||||
- Сервис `backups.delete_many`, маршрут `/backups/delete-many`, API `POST /api/v1/backups/delete`.
|
||||
- Логика выбора строк в `app.js` обобщена (`data-select`): работает и на устройствах, и на бэкапах.
|
||||
|
||||
## Проверено
|
||||
- `pytest`: 10 из 10 (новый тест: чужой ключ отклоняет всю операцию и ничего не удаляет; допустимые удаляются; редирект с фильтрами и итогом; API).
|
||||
- В браузере на реальном бакете с тремя собственными тестовыми файлами (`backups/qa-bulk/…`): выбор двух → панель вместо фильтров, подтверждение «(2)», итог «Удалено файлов: 2», фильтр сохранён; «выбрать все» → «Удалено файлов: 1»; ошибок JS нет. Тестовые файлы удалены, файлы `MSK_Home` и `OZ_Dacha` не тронуты.
|
||||
|
||||
## Замечания
|
||||
- Удаление необратимо (версионирование бакета не используется приложением) — поэтому подтверждение и ограничение префиксом `backups/`.
|
||||
- Единичное удаление из меню строки «⋯» сохранено.
|
||||
Reference in new issue
Block a user