ذخیره‌سازی تصاویر با MinIO (S3) و انتهای‌نقطه آپلود ادمین

- POST /api/admin/upload با احراز هویت JWT: ذخیره فایل در باکت S3 و
  برگرداندن URL نسبی /media/<سال>/<ماه>/<uuid>.<پسوند>
- فرمت‌های مجاز: jpg، png، webp، gif، avif — حداکثر ۱۰ مگابایت (قابل تنظیم)
- افزودن boto3 و python-multipart به وابستگی‌ها
- تنظیمات جدید: S3_ENDPOINT، S3_ACCESS_KEY، S3_SECRET_KEY، S3_BUCKET،
  MEDIA_PUBLIC_BASE، MEDIA_MAX_UPLOAD_MB (قابل تعریف در .env)
- URL نسبی برمی‌گردد تا بک‌اند ذخیره‌سازی (MinIO/R2/هر S3) بدون تغییر
  محتوای دیتابیس قابل تعویض باشد
- به‌روزرسانی .env.example و README (بخش تصاویر و MinIO)
This commit is contained in:
MMD
2026-09-06 20:49:01 +03:30
parent 1fde4e30fc
commit 897fac4f15
5 changed files with 97 additions and 4 deletions
+2
View File
@@ -7,3 +7,5 @@ pydantic-settings>=2.6.1
PyJWT>=2.10.1
bcrypt>=4.2.1
email-validator>=2.2.0
boto3>=1.35.0
python-multipart>=0.0.18