# Spec Delta: realtime ## MODIFIED Requirements ### Requirement: События альбома Система SHALL публиковать события photo.created, photo.updated, photo.deleted, comment.created, like.added, like.removed, member.joined, member.left, album.updated. Событие photo.created SHALL обозначать появление фото в альбоме, а готовность вариантов существующего фото SHALL публиковаться как photo.updated. Сохранение, готовность и сброс правок фото SHALL также публиковаться как photo.updated, неся аддитивный признак незавершённого рендера правок (`edit_pending`) и актуальность URL отредактированных вариантов. #### Scenario: Новое фото - **WHEN** в альбоме появляется фото - **THEN** подписчики получают событие photo.created с метаданными и URL превью #### Scenario: Готовы варианты - **WHEN** для существующего фото сгенерированы thumb и preview - **THEN** подписчики получают событие photo.updated с этим фото #### Scenario: Сохранены правки фото - **WHEN** пользователь сохраняет правки фото, а рендер ещё не завершён - **THEN** подписчики получают событие photo.updated с `edit_pending=true` #### Scenario: Рендер правок готов - **WHEN** серверный рендер сохранённых правок завершён - **THEN** подписчики получают событие photo.updated с `edit_pending=false` и URL отредактированных вариантов #### Scenario: Правки фото сброшены - **WHEN** правки фото сброшены - **THEN** подписчики получают событие photo.updated с `edit_pending=false` и без URL отредактированных вариантов