winofy-backend/apps/core/media.py
2026-08-18 13:58:54 +03:30

21 lines
656 B
Python

import logging
from datetime import timedelta
from django.conf import settings
from utils.clients.minio_client import minio_client
logger = logging.getLogger('winofy.media')
def presigned_media_url(object_key, expires=timedelta(hours=1)):
"""Mints a fresh presigned GET URL for a stored MinIO object_key, or None if unset/unreachable."""
if not object_key:
return None
try:
return minio_client.presigned_get_object(
settings.MINIO_BUCKET_NAME, object_key, expires=expires,
)
except Exception:
logger.exception('Failed to presign media url for object_key=%s', object_key)
return None