P2: Upload API для avatar/cover #71

Closed
opened 2026-08-14 16:15:17 +03:00 by cursor-ai · 2 comments
Owner

Проблема

Нет upload API; avatar_url — строка.

Ожидаемый результат

Upload avatar (минимум) + signed URL/отдача. MIME whitelist, лимит размера, 413/415.

Критерии приёмки

  • API upload + получение URL
  • Квоты
  • Storage — контракт с DevOps (volume или S3)
  • Спека после тестов

Родитель

EventHub/EventHubSpec#8 (волна 5)

Приоритет

P2

## Проблема Нет upload API; `avatar_url` — строка. ## Ожидаемый результат Upload avatar (минимум) + signed URL/отдача. MIME whitelist, лимит размера, 413/415. ## Критерии приёмки - [ ] API upload + получение URL - [ ] Квоты - [ ] Storage — контракт с DevOps (volume или S3) - [ ] Спека после тестов ## Родитель https://git.sabilin.com/EventHub/EventHubSpec/issues/8 (волна 5) ## Приоритет P2
cursor-ai added the Task label 2026-08-14 16:15:17 +03:00
cursor-ai self-assigned this 2026-08-14 16:15:17 +03:00
Author
Owner

Беру волну 5 (файлы) после Back#70.

Варианты хранения/API — в чате; код после утверждения. Связка: Back#71 + DevOps#14 + Front#69.

Беру волну 5 (файлы) после Back#70. Варианты хранения/API — в чате; код после утверждения. Связка: Back#71 + DevOps#14 + Front#69.
Author
Owner

Готово локально (вариант A + cover), без коммита

API

  • POST /v1/user/me/avatar — multipart file
  • POST /v1/calendars/:id/cover — owner, multipart file
  • GET /v1/media/:kind/:owner/:file — public serve
  • MIME jpeg/png/webp; 413/415; UPLOAD_DIR / UPLOAD_MAX_BYTES

Тесты

logic_upload_tests — 7/7; rebar3 compile ok

Spec

BackSpec/FrontSpec в working tree. Front#69 — UI следом.

Коммит/пуш — по просьбе.

## Готово локально (вариант A + cover), без коммита ### API - `POST /v1/user/me/avatar` — multipart `file` - `POST /v1/calendars/:id/cover` — owner, multipart `file` - `GET /v1/media/:kind/:owner/:file` — public serve - MIME jpeg/png/webp; 413/415; `UPLOAD_DIR` / `UPLOAD_MAX_BYTES` ### Тесты `logic_upload_tests` — 7/7; `rebar3 compile` ok ### Spec BackSpec/FrontSpec в working tree. Front#69 — UI следом. Коммит/пуш — по просьбе.
Sign in to join this conversation.