Групповое удаление бэкапов (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>
16 lines
1.9 KiB
Markdown
16 lines
1.9 KiB
Markdown
# Итоги: 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/`.
|
|
- Единичное удаление из меню строки «⋯» сохранено.
|