chore(openspec): archive trash-permanent-delete-and-empty and sync main specs

This commit is contained in:
iu
2026-10-11 20:55:04 +03:00
parent 3b745fa737
commit a72d8876d6
8 changed files with 40 additions and 1 deletions
+23 -1
View File
@@ -162,7 +162,8 @@ SHALL отвечать понятной ошибкой при превышени
### Requirement: Корзина фото ### Requirement: Корзина фото
Удаление фото SHALL помещать его в корзину (мягкое удаление). Восстановление SHALL возвращать Удаление фото SHALL помещать его в корзину (мягкое удаление). Восстановление SHALL возвращать
фото в его альбом. Окончательное удаление SHALL удалять запись, а объекты хранилища SHALL фото в его альбом. Окончательное удаление SHALL удалять запись, а объекты хранилища SHALL
удаляться только когда на них не остаётся ссылок ни в одном альбоме. удаляться только когда на них не остаётся ссылок ни в одном альбоме. Окончательное удаление
SHALL быть доступно и для фото без альбома (например, после удаления альбома).
#### Scenario: Удаление в корзину #### Scenario: Удаление в корзину
- **WHEN** пользователь удаляет фото - **WHEN** пользователь удаляет фото
@@ -180,6 +181,10 @@ SHALL отвечать понятной ошибкой при превышени
- **WHEN** на объект хранилища ссылается копия в другом альбоме - **WHEN** на объект хранилища ссылается копия в другом альбоме
- **THEN** запись удаляется, а объект хранилища сохраняется - **THEN** запись удаляется, а объект хранилища сохраняется
#### Scenario: Окончательное удаление фото без альбома
- **WHEN** пользователь удаляет навсегда фото из корзины, у которого нет альбома
- **THEN** запись удаляется, а операция не завершается ошибкой отсутствующего альбома
### Requirement: Удаление альбома и восстановление фото без альбома ### Requirement: Удаление альбома и восстановление фото без альбома
Удаление альбома SHALL помещать его фото в корзину, не удаляя объекты хранилища. Если при Удаление альбома SHALL помещать его фото в корзину, не удаляя объекты хранилища. Если при
восстановлении фото его альбом отсутствует, система SHALL предложить выбрать существующий восстановлении фото его альбом отсутствует, система SHALL предложить выбрать существующий
@@ -238,3 +243,20 @@ SHALL отвечать понятной ошибкой при превышени
#### Scenario: Запись видео с готовым вариантом #### Scenario: Запись видео с готовым вариантом
- **WHEN** видео-вариант готов - **WHEN** видео-вариант готов
- **THEN** данные медиа содержат адрес воспроизведения - **THEN** данные медиа содержат адрес воспроизведения
### Requirement: Очистка корзины
Пользователь SHALL иметь возможность окончательно удалить все элементы корзины одним действием.
Система SHALL удалять только те элементы, которые пользователь вправе удалить навсегда, и SHALL
пропускать остальные. Операция SHALL возвращать число удалённых элементов.
#### Scenario: Очистка корзины
- **WHEN** пользователь очищает корзину
- **THEN** все элементы, которые он вправе удалить навсегда, удаляются
#### Scenario: Чужие элементы
- **WHEN** в корзине есть фото, которые пользователь не вправе удалить навсегда
- **THEN** они остаются в корзине, а остальные удаляются
#### Scenario: Пустая корзина
- **WHEN** пользователь очищает пустую корзину
- **THEN** операция завершается успешно, удалив ноль элементов
+17
View File
@@ -632,3 +632,20 @@ SHALL открывать режим просмотра.
#### Scenario: Открытие из сетки #### Scenario: Открытие из сетки
- **WHEN** пользователь открывает плитку видео - **WHEN** пользователь открывает плитку видео
- **THEN** открывается режим просмотра видео - **THEN** открывается режим просмотра видео
### Requirement: Очистка корзины в интерфейсе
Экран корзины SHALL содержать действие «Очистить корзину», доступное, когда в корзине есть
элементы. Действие SHALL открывать подтверждение и после подтверждения очищать корзину, а
список и счётчик корзины в рейле SHALL отражать результат.
#### Scenario: Наличие действия
- **WHEN** пользователь открывает корзину с элементами
- **THEN** на экране показано действие «Очистить корзину»
#### Scenario: Подтверждение очистки
- **WHEN** пользователь выбирает «Очистить корзину»
- **THEN** открывается диалог подтверждения, и только после подтверждения корзина очищается
#### Scenario: Обновление после очистки
- **WHEN** корзина очищена
- **THEN** на экране показывается пустая корзина, а счётчик корзины в рейле обновляется