# social Specification ## Purpose Лайки и комментарии к фотографиям. ## Requirements ### Requirement: Лайк фото Пользователь с правом комментирования SHALL иметь возможность поставить и убрать лайк. #### Scenario: Поставить лайк - **WHEN** участник ставит лайк фото - **THEN** система фиксирует лайк и публикует событие like.added #### Scenario: Убрать лайк - **WHEN** участник убирает лайк - **THEN** система удаляет лайк и публикует событие like.removed ### Requirement: Комментарий к фото Пользователь с правом комментирования SHALL иметь возможность добавить комментарий. #### Scenario: Добавить комментарий - **WHEN** участник добавляет комментарий - **THEN** система сохраняет комментарий и публикует событие comment.created ### Requirement: Список комментариев Система SHALL возвращать комментарии фото. #### Scenario: Получение комментариев - **WHEN** клиент запрашивает комментарии фото - **THEN** система возвращает список комментариев с авторами ### Requirement: Удаление комментария Автор комментария (или владелец/админ) SHALL иметь возможность удалить комментарий. #### Scenario: Удаление своего комментария - **WHEN** автор удаляет свой комментарий - **THEN** система удаляет комментарий