# share-links Specification ## Purpose View-only доступ к альбому по ссылке без авторизации, с несколькими ссылками, сроком действия и отзывом. ## Requirements ### Requirement: Создание ссылки для просмотра Владелец и админ SHALL иметь возможность создать ссылку для просмотра альбома с заданным сроком действия. #### Scenario: Создание ссылки - **WHEN** админ создаёт share-ссылку со сроком действия - **THEN** система создаёт токен и возвращает URL для просмотра ### Requirement: Несколько ссылок Альбом SHALL поддерживать несколько независимых share-ссылок. #### Scenario: Отзыв одной ссылки не затрагивает другие - **WHEN** владелец отзывает одну ссылку - **THEN** остальные ссылки остаются действующими ### Requirement: Просмотр альбома по ссылке Пользователь без авторизации SHALL иметь возможность просматривать альбом по действующему токену (сетка, лайтбокс, скачивание одиночного фото). #### Scenario: Просмотр по действующей ссылке - **WHEN** аноним открывает ссылку с действующим токеном - **THEN** система возвращает фото альбома со свежими presigned URL #### Scenario: Истёкшая или отозванная ссылка - **WHEN** аноним открывает ссылку с истёкшим или отозванным токеном - **THEN** система отклоняет доступ ### Requirement: Ограничения по ссылке Доступ по ссылке SHALL быть только на просмотр: без комментариев, лайков, загрузки и управления участниками. #### Scenario: Аноним не может комментировать - **WHEN** аноним по ссылке пытается добавить комментарий - **THEN** система отклоняет запрос ### Requirement: Отзыв ссылки Владелец и админ SHALL иметь возможность отозвать ссылку. #### Scenario: Отзыв ссылки - **WHEN** владелец отзывает share-ссылку - **THEN** система прекращает доступ по этому токену