3.4 KiB
3.4 KiB
Tasks
1. Варианты и роли
- 1.1
backend/internal/photos/pipeline.go:thumb→imaging.Fill(200,200), добавитьmedium = imaging.Fill(800,800);buildVariantsвозвращает thumb, medium, preview — проверка: обновлённый тест генерации подтверждает квадратную форму thumb/medium и наличие preview. - 1.2
backend/internal/photos/objects.go:RoleMedium = "medium";backend/internal/models/models.go:MediumKey,MediumURL— проверка:cd backend && go build ./....
2. Миграции и бэкфилл
- 2.1 Postgres
backend/migrations/000011_*: расширитьCHECKролиphoto_objectsзначениемmedium; налитьvariant_jobsдля всех фото — проверка:make migrateприменяется без ошибок на dev-БД. - 2.2 SQLite
backend/migrations/sqlite/000003_*: пересоздатьphoto_objectsс новымCHECK(перенос строк) + бэкфиллvariant_jobs— проверка:cd backend && go test ./internal/db/....
3. Метаданные (Postgres и SQLite)
- 3.1 Postgres
photos/store.go+photos/service.go: JOIN/scan ролиmedium,attachURLsзаполняетMediumURL— проверка:make test(сTEST_DATABASE_URL). - 3.2 SQLite
photos/sqlite_store.go: JOIN/scan ролиmedium— проверка:make test. - 3.3
albums(models,store.go,sqlite_store.go,service.go): URL medium-обложки с откатом наthumb— проверка:make test. - 3.4
backend/internal/repo/contract: тесты привязки ролиmediumи URL обложки для обоих бэкендов — проверка:make test(и сTEST_DATABASE_URL).
4. Генерация вариантов
- 4.1
backend/internal/photos/worker.go: создавать и привязыватьmedium(порядок thumb → medium → preview); обновитьworker_test.go(4 привязанных объекта,MediumURL) — проверка:make test.
5. Фронтенд
- 5.1
frontend/src/lib/types.ts: добавитьmedium_url,cover_medium_url— проверка:cd frontend && npm run check. - 5.2
frontend/src/lib/components/PhotoGrid.svelte:srcset/sizesпо фактической ширине сетки (bind:clientWidth), откат на доступные варианты — проверка:npm run dev— крупные плитки резкие, мелкие тянут компактный вариант. - 5.3 Обзор альбомов
frontend/src/routes/(app)/+page.svelte:srcsetобложки с откатом на миниатюру — проверка:npm run dev— обложки не мылят при крупном размере.
6. Интеграционная проверка
- 6.1
make testиcd frontend && npm run check && npm run buildпроходят; вручную: резкость на всех размерах, обложки в обзоре, бэкфилл существующих фото не ломает сетку.
Workflow follow-up
- Заархивировать change после выполнения требований ревью проекта (
/opsx-archive). - Проверить результат после архивации.