15 lines
1.9 KiB
Markdown
15 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/`.
|
||
|
|
- Единичное удаление из меню строки «⋯» сохранено.
|