brewlog/migrations
Jon Seager 4b3f03f5d3
feat: add entity image support with display on detail pages
Add image infrastructure, API, and detail page integration:

- EntityImage domain model with ImageRepository trait
- SQLite storage for images and thumbnails as BLOBs
- Image processing with data URL decoding and thumbnail generation
- REST API: upload, get, delete, thumbnail at /{entity_type}/{id}/image
- resolve_image_url helper for image fallback chains
- image-upload web component for direct upload on detail pages
- Image display with vignette overlay and lightbox viewer
- Template macros: image_thumbnail, readonly_image, lightbox_script
- All 7 detail pages updated with image thumbnails
- Brew images fall back to roast; cup images fall back to cafe then roast
- Delete handler macro extended with optional image cleanup
2026-02-10 17:50:13 +00:00
..
0001_auth.sql fix(db): add AUTOINCREMENT to prevent SQLite ROWID reuse 2026-02-06 10:09:13 +00:00
0002_coffee.sql fix(db): add AUTOINCREMENT to prevent SQLite ROWID reuse 2026-02-06 10:09:13 +00:00
0003_activities.sql feat(brews): add brew time field 2026-02-07 11:24:07 +00:00
0004_timeline_and_usage.sql fix(db): add AUTOINCREMENT to prevent SQLite ROWID reuse 2026-02-06 10:09:13 +00:00
0005_brew_gear_indexes.sql perf(db): enable WAL mode, add tuning pragmas and missing indexes 2026-02-06 18:04:58 +00:00
0006_stats_cache.sql feat(stats): add pre-computed stats cache with background recomputation 2026-02-08 15:20:01 +00:00
0007_entity_images.sql feat: add entity image support with display on detail pages 2026-02-10 17:50:13 +00:00