# Spec Delta ## MODIFIED Requirements ### Requirement: Сборка мусора по ссылкам Объект хранилища SHALL удаляться только когда на него не ссылается ни одно фото и ни один аватар пользователя; удаление альбома и попадание фото в корзину SHALL сохранять объекты. #### Scenario: Последняя ссылка удалена - **WHEN** фото удаляется навсегда и больше ни одно фото не ссылается на его объекты - **THEN** объекты удаляются из хранилища #### Scenario: Остались ссылки - **WHEN** на объект ссылается другое фото - **THEN** объект сохраняется в хранилище #### Scenario: Удаление альбома - **WHEN** владелец удаляет альбом - **THEN** объекты хранилища не удаляются #### Scenario: Ссылка аватара - **WHEN** на объект ссылается аватар пользователя - **THEN** объект сохраняется в хранилище, пока ссылка существует ## ADDED Requirements ### Requirement: Аватар пользователя как объект журнала Аватар пользователя SHALL храниться как объект журнала, привязанный к пользователю по ролям, соответствующим нарезкам аватара. Замена и удаление аватара SHALL менять привязку, а объекты без ссылок SHALL освобождаться сборкой мусора. #### Scenario: Привязка аватара - **WHEN** пользователь устанавливает аватар - **THEN** объекты нарезок привязываются к пользователю по своим ролям #### Scenario: Замена аватара - **WHEN** пользователь заменяет аватар - **THEN** привязка указывает на новые объекты, а старые освобождаются сборкой мусора #### Scenario: Удаление аватара - **WHEN** пользователь удаляет аватар - **THEN** привязка снимается, и объекты аватара освобождаются сборкой мусора