feat(upload): avatar and calendar cover via local disk storage.

POST /v1/user/me/avatar and /v1/calendars/:id/cover; GET /v1/media;
UPLOAD_DIR on eventhub-data volume; MIME/size limits.
Refs EventHub/EventHubBack#71
Refs EventHub/EventHubSpec#8
This commit is contained in:
2026-08-14 21:27:34 +03:00
parent 15ae8d4426
commit 29111cd514
11 changed files with 590 additions and 2 deletions
+3
View File
@@ -30,4 +30,7 @@ SMTP_TLS=if_available
PUBLIC_APP_URL=https://stage.calentiq.com
# Окно напоминаний о booking (часы до старта; Back#70)
REMINDER_LEAD_HOURS=24
# Uploads (avatar/cover) — каталог на volume /app/data (Back#71)
UPLOAD_DIR=/app/data/uploads
UPLOAD_MAX_BYTES=2097152
+2
View File
@@ -49,6 +49,8 @@ services:
- SMTP_TLS=${SMTP_TLS:-if_available}
- PUBLIC_APP_URL=${PUBLIC_APP_URL:-https://stage.calentiq.com}
- REMINDER_LEAD_HOURS=${REMINDER_LEAD_HOURS:-24}
- UPLOAD_DIR=${UPLOAD_DIR:-/app/data/uploads}
- UPLOAD_MAX_BYTES=${UPLOAD_MAX_BYTES:-2097152}
networks:
eventhub-net:
aliases:
+2 -2
View File
@@ -7,7 +7,7 @@ FROM alpine:${ALPINE_VERSION}
RUN apk add --no-cache \
openssl libstdc++ libgcc ncurses-libs libsodium \
file \
&& mkdir -p /app/data \
&& chmod 777 /app/data
&& mkdir -p /app/data /app/data/uploads \
&& chmod 777 /app/data /app/data/uploads
WORKDIR /app