feat(admin): photo upload with crop/optimization (sharp) — restore old behavior #146

Closed
opened 2026-08-10 08:09:43 +00:00 by NW · 0 comments
Owner

Фича: Загрузка фото с обрезкой/оптимизацией в админке (как было в старой)

Acceptance

  • POST /api/upload: сохраняет файл, обрезает/оптимизирует через sharp (resize 800px inside + webp@80), возвращает /uploads/url
  • GET /uploads/... отдаёт файл (route handler, Content-Type, path traversal защита)
  • compose: uploads смонтирован в админку
  • UI: file input + предпросмотр миниатюры + удаление фото (photoUrl и hiddenPhotoUrl)
  • Таблица товаров показывает миниатюры
  • Бот читает /uploads/ (resolvePhotoSource уже поддерживает)
  • tsc + build + деплой (проверено: upload 200, GET /uploads 200 image/webp, бот читает файл)

Закрыто коммитами 301763f + 1b70500

## Фича: Загрузка фото с обрезкой/оптимизацией в админке (как было в старой) ### Acceptance - [x] POST /api/upload: сохраняет файл, обрезает/оптимизирует через sharp (resize 800px inside + webp@80), возвращает /uploads/url - [x] GET /uploads/... отдаёт файл (route handler, Content-Type, path traversal защита) - [x] compose: uploads смонтирован в админку - [x] UI: file input + предпросмотр миниатюры + удаление фото (photoUrl и hiddenPhotoUrl) - [x] Таблица товаров показывает миниатюры - [x] Бот читает /uploads/ (resolvePhotoSource уже поддерживает) - [x] tsc + build + деплой (проверено: upload 200, GET /uploads 200 image/webp, бот читает файл) Закрыто коммитами 301763f + 1b70500
NW closed this issue 2026-08-10 09:22:20 +00:00
Sign in to join this conversation.