Files
ds-galo/openspec/changes/album-ui-covers/specs/albums/spec.md
T
2026-10-10 14:21:43 +03:00

4.4 KiB

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