# 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 для неё