chore(openspec): archive trash-permanent-delete-and-empty and sync main specs
This commit is contained in:
+48
@@ -0,0 +1,48 @@
|
||||
# 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** операция завершается успешно, удалив ноль элементов
|
||||
Reference in New Issue
Block a user