From b162a9f31c8dfef9afb94a7afabdca349c6ab35a Mon Sep 17 00:00:00 2001 From: Haydar Ghasemi Date: Tue, 18 Aug 2026 13:58:54 +0330 Subject: [PATCH] FIX(winofy): fix MINIO_BUCKET_NAME fix MINIO_BUCKET_NAME --- .env.example | 4 ++-- apps/core/media.py | 2 +- apps/core/views/media.py | 2 +- apps/orders/views.py | 1 - config/settings.py | 8 ++++---- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.env.example b/.env.example index 6c6bb66..e9f3977 100644 --- a/.env.example +++ b/.env.example @@ -17,14 +17,14 @@ DEFAULT_COMMISSION_PERCENT=4.0 # MinIO — object storage for media (product/store images), same pattern as the # rest of the Winsoo ecosystem. Defaults point at the local `minio` container # from docker-compose.yml. No bucket has been provisioned centrally yet — -# django-minio-backend will create MINIO_MEDIA_FILES_BUCKET on first save. +# django-minio-backend will create MINIO_BUCKET_NAME on first save. MINIO_ENDPOINT=localhost:9000 MINIO_USE_HTTPS=False MINIO_EXTERNAL_ENDPOINT=localhost:9000 MINIO_EXTERNAL_ENDPOINT_USE_HTTPS=False MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin -MINIO_MEDIA_FILES_BUCKET=winofy-media +MINIO_BUCKET_NAME=winofy-media # OAuth2 provider (Gooyal accounts) — resource-server introspection + this # service's own client-credentials grant for outbound calls to Gooyal services. diff --git a/apps/core/media.py b/apps/core/media.py index 0ced976..d44de92 100644 --- a/apps/core/media.py +++ b/apps/core/media.py @@ -14,7 +14,7 @@ def presigned_media_url(object_key, expires=timedelta(hours=1)): return None try: return minio_client.presigned_get_object( - settings.MINIO_MEDIA_FILES_BUCKET, object_key, expires=expires, + settings.MINIO_BUCKET_NAME, object_key, expires=expires, ) except Exception: logger.exception('Failed to presign media url for object_key=%s', object_key) diff --git a/apps/core/views/media.py b/apps/core/views/media.py index b1a4899..0d9276f 100644 --- a/apps/core/views/media.py +++ b/apps/core/views/media.py @@ -38,7 +38,7 @@ class MediaPresignView(APIView): try: upload_url = minio_client.presigned_put_object( - settings.MINIO_MEDIA_FILES_BUCKET, + settings.MINIO_BUCKET_NAME, object_key, expires=timedelta(minutes=30), ) diff --git a/apps/orders/views.py b/apps/orders/views.py index 0f8e00e..2ee9e42 100644 --- a/apps/orders/views.py +++ b/apps/orders/views.py @@ -32,7 +32,6 @@ class CartView(APIView): serializer_class = CartSerializer permission_classes = [IsAuthenticatedOrTokenMatchesOASRequirements] required_alternate_scopes = { - "POST": [[]], "GET": [[]], } diff --git a/config/settings.py b/config/settings.py index cd2914d..4995604 100644 --- a/config/settings.py +++ b/config/settings.py @@ -142,7 +142,7 @@ MEDIA_ROOT = BASE_DIR / "media" # MinIO — same object-storage pattern as the rest of the Winsoo ecosystem # (campaign, wallet, advertising, ...). Points at a local MinIO instance by -# default; no bucket has been provisioned centrally yet, so MINIO_MEDIA_FILES_BUCKET +# default; no bucket has been provisioned centrally yet, so MINIO_BUCKET_NAME # just needs to be set to whatever this service's bucket ends up being called. MINIO_ENDPOINT = env("MINIO_ENDPOINT", default="localhost:9000") MINIO_USE_HTTPS = env.bool("MINIO_USE_HTTPS", default=False) @@ -153,13 +153,13 @@ MINIO_ACCESS_KEY = env("MINIO_ACCESS_KEY", default="minioadmin") MINIO_SECRET_KEY = env("MINIO_SECRET_KEY", default="minioadmin") MINIO_URL_EXPIRY_HOURS = timedelta(days=1) MINIO_CONSISTENCY_CHECK_ON_START = False -MINIO_MEDIA_FILES_BUCKET = env("MINIO_MEDIA_FILES_BUCKET", default="winofy-media") # replacement for MEDIA_ROOT +MINIO_BUCKET_NAME = env("MINIO_BUCKET_NAME", default="winofy-media") # replacement for MEDIA_ROOT MINIO_PRIVATE_BUCKETS = [ 'default', ] MINIO_PUBLIC_BUCKETS = [ 'default-public', - MINIO_MEDIA_FILES_BUCKET, + MINIO_BUCKET_NAME, ] MINIO_POLICY_HOOKS = [] MINIO_BUCKET_CHECK_ON_SAVE = True # creates the bucket if missing, then saves @@ -177,7 +177,7 @@ STORAGES = { "MINIO_SECRET_KEY": MINIO_SECRET_KEY, "MINIO_URL_EXPIRY_HOURS": MINIO_URL_EXPIRY_HOURS, "MINIO_CONSISTENCY_CHECK_ON_START": MINIO_CONSISTENCY_CHECK_ON_START, - "MINIO_DEFAULT_BUCKET": MINIO_MEDIA_FILES_BUCKET, + "MINIO_DEFAULT_BUCKET": MINIO_BUCKET_NAME, "MINIO_PRIVATE_BUCKETS": MINIO_PRIVATE_BUCKETS, "MINIO_PUBLIC_BUCKETS": MINIO_PUBLIC_BUCKETS, "MINIO_POLICY_HOOKS": MINIO_POLICY_HOOKS,