From 2f64af47468a16137ca5a8000fa6bcce7b1be5d1 Mon Sep 17 00:00:00 2001 From: vickytechkey Date: Fri, 28 Aug 2026 15:44:13 +0530 Subject: [PATCH] adding s3 pre-signed url --- config/settings.py | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/config/settings.py b/config/settings.py index 384fcac..5798982 100644 --- a/config/settings.py +++ b/config/settings.py @@ -316,8 +316,31 @@ MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') # CloudFront Domain Configuration +import boto3 +import json +from botocore.exceptions import ClientError + +def load_s3_secrets(): + secret_name = "arn:aws:secretsmanager:ap-south-2:764709663363:secret:betasupplierdocument-rjF6JE" + region_name = "ap-south-2" + try: + session = boto3.session.Session() + client = session.client(service_name='secretsmanager', region_name=region_name) + get_secret_value_response = client.get_secret_value(SecretId=secret_name) + secrets = json.loads(get_secret_value_response['SecretString']) + + # Inject secrets into environment variables so views.py can use them + for key, value in secrets.items(): + os.environ[key] = str(value) + + return secrets + except Exception as e: + print(f"Warning: Failed to load S3 secrets from Secrets Manager: {e}") + return {} + +s3_secrets = load_s3_secrets() + AWS_CLOUDFRONT_DOMAIN = os.environ.get('AWS_CLOUDFRONT_DOMAIN', '') -USE_S3 = True -AWS_STORAGE_BUCKET_NAME = 'betasupplierdocumentstorage' - +USE_S3 = os.environ.get('USE_S3', 'False').lower() == 'true' +AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME', 'betasupplierdocumentstorage')