This commit is contained in:
iu
2026-10-10 14:21:43 +03:00
parent 84ce4d1930
commit 9329ebc023
17 changed files with 591 additions and 34 deletions
@@ -0,0 +1,68 @@
# Spec Delta
## MODIFIED Requirements
### Requirement: Создание альбома
Зарегистрированный пользователь SHALL иметь возможность создать альбом и стать его владельцем.
#### Scenario: Создание альбома
- **WHEN** пользователь создаёт альбом с названием
- **THEN** система создаёт альбом и назначает пользователя владельцем
#### Scenario: Создание через диалог из списка
- **WHEN** пользователь в списке альбомов активирует кнопку создания и вводит название в открывшемся диалоге
- **THEN** система создаёт альбом с указанным названием и показывает его в списке
### Requirement: Редактирование альбома
Владелец и админ SHALL иметь возможность редактировать название, описание и обложку альбома.
#### Scenario: Редактирование альбома
- **WHEN** админ изменяет описание альбома
- **THEN** система сохраняет изменения
#### Scenario: Выбор обложки из фото альбома
- **WHEN** владелец или админ выбирает одно из фото альбома в качестве обложки
- **THEN** система сохраняет выбранное фото как обложку альбома
#### Scenario: Очистка обложки
- **WHEN** владелец или админ убирает обложку альбома
- **THEN** система очищает обложку альбома
#### Scenario: Обложка недоступна без прав
- **WHEN** участник без прав редактирования альбома пытается изменить обложку
- **THEN** система отклоняет запрос
#### Scenario: Обложкой можно назначить только фото этого альбома
- **WHEN** в качестве обложки передан id фото, не принадлежащего альбому
- **THEN** система отклоняет запрос и не меняет обложку
## ADDED Requirements
### Requirement: Обложка альбома в списке
Система SHALL включать в список альбомов URL миниатюры обложки для каждого альбома, у которого обложка задана.
#### Scenario: Список содержит URL обложки
- **WHEN** пользователь запрашивает список альбомов и у альбома задана обложка
- **THEN** система возвращает для этого альбома URL миниатюры обложки
#### Scenario: Обложка не задана
- **WHEN** у альбома обложка не задана
- **THEN** система возвращает пустое значение обложки для этого альбома
### Requirement: Автоматическая обложка
Система SHALL назначать первое обработанное фото альбома обложкой только если обложка ещё не задана.
#### Scenario: Назначение при пустой обложке
- **WHEN** фото альбома обработано, и у альбома обложка не задана
- **THEN** система назначает это фото обложкой альбома
#### Scenario: Ручной выбор не затирается
- **WHEN** фото альбома обработано, а обложка уже задана
- **THEN** система не изменяет текущую обложку
### Requirement: Удаление фото-обложки
Система SHALL очищать обложку альбома, если фото, назначенное обложкой, удалено.
#### Scenario: Удалено фото-обложка
- **WHEN** удаляется фото, назначенное обложкой альбома
- **THEN** система очищает обложку альбома и список не возвращает URL для неё