Files
ds-galo/openspec/changes/fix-copy-edit-variant-sharing/tasks.md
T
iu 70ac12db10 chore(openspec): отметить задачи fix-copy-edit-variant-sharing выполненными
Все 9 задач закрыты; в design.md уточнено, что удалённые привязки
не осиротевают объекты: отредактированная версия живёт вместе с фото.
2026-10-21 21:01:33 +03:00

36 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tasks
## 1. Список edit-ролей
- [x] 1.1 В `backend/internal/photos/edit_render.go` собрать общий список ролей
(`RoleEdit`, `RoleEditThumb`, `RoleEditMedium`, `RoleEditPreview`) и хелпер проверки
роли; проверить, что список используется в обоих хранилищах и не дублируется
строковыми литералами
## 2. Копирование без отредактированной версии
- [x] 2.1 В `Store.Clone` (`backend/internal/photos/store.go`) исключить edit-роли из
переносимых привязок `photo_objects`; проверить тестом `copy_test.go`: копия
получает обычные варианты и не получает edit-объекты
- [x] 2.2 В `SQLiteStore.Clone` (`backend/internal/photos/sqlite_store.go`) сделать то же
для SQLite; проверить тем же тестом, прогнанным на SQLite-хранилище
## 3. Разовая чистка существующих копий
- [x] 3.1 Добавить миграцию Postgres `backend/migrations/000016_*.up.sql` и `.down.sql`,
удаляющую edit-привязки у фото с пустыми `edit_params`; проверить на тестовой базе,
что привязки исходных фото с правками остались, а «чужие» удалены
- [x] 3.2 Добавить миграцию SQLite `backend/migrations/sqlite/000008_*.up.sql` и
`.down.sql` с тем же действием; проверить тем же сценарием на SQLite
- [x] 3.3 Убедиться, что удалённые объекты подбираются сборщиком мусора
(`ClaimGarbage` не возвращает объекты с привязками); проверить существующим тестом
`objects_test.go`
## 4. Интеграционная проверка
- [x] 4.1 Прогнать `cd backend && go test ./internal/photos/ -v`; убедиться, что тесты
зелёные
- [x] 4.2 Прогнать `make test`; убедиться, что весь бэкенд зелёный
- [x] 4.3 Проверить вручную: отредактировать фото, скопировать его в другой альбом и
убедиться, что копия показывает исходник, а панель правок у копии пустая