# Spec Delta ## MODIFIED Requirements ### Requirement: Корзина фото Удаление фото SHALL помещать его в корзину (мягкое удаление). Восстановление SHALL возвращать фото в его альбом. Окончательное удаление SHALL удалять запись, а объекты хранилища SHALL удаляться только когда на них не остаётся ссылок ни в одном альбоме. Окончательное удаление SHALL быть доступно и для фото без альбома (например, после удаления альбома). #### Scenario: Удаление в корзину - **WHEN** пользователь удаляет фото - **THEN** фото пропадает из альбома и появляется в корзине #### Scenario: Восстановление - **WHEN** пользователь восстанавливает фото из корзины - **THEN** фото возвращается в свой альбом #### Scenario: Окончательное удаление без ссылок - **WHEN** пользователь удаляет фото из корзины навсегда, и на те же объекты нет ссылок в других альбомах - **THEN** запись и объекты хранилища удаляются #### Scenario: Окончательное удаление при наличии ссылок - **WHEN** на объект хранилища ссылается копия в другом альбоме - **THEN** запись удаляется, а объект хранилища сохраняется #### Scenario: Окончательное удаление фото без альбома - **WHEN** пользователь удаляет навсегда фото из корзины, у которого нет альбома - **THEN** запись удаляется, а операция не завершается ошибкой отсутствующего альбома ## ADDED Requirements ### Requirement: Очистка корзины Пользователь SHALL иметь возможность окончательно удалить все элементы корзины одним действием. Система SHALL удалять только те элементы, которые пользователь вправе удалить навсегда, и SHALL пропускать остальные. Операция SHALL возвращать число удалённых элементов. #### Scenario: Очистка корзины - **WHEN** пользователь очищает корзину - **THEN** все элементы, которые он вправе удалить навсегда, удаляются #### Scenario: Чужие элементы - **WHEN** в корзине есть фото, которые пользователь не вправе удалить навсегда - **THEN** они остаются в корзине, а остальные удаляются #### Scenario: Пустая корзина - **WHEN** пользователь очищает пустую корзину - **THEN** операция завершается успешно, удалив ноль элементов