diff --git a/app/controllers/lettings_logs_controller.rb b/app/controllers/lettings_logs_controller.rb index 75023c687..1dadc80b6 100644 --- a/app/controllers/lettings_logs_controller.rb +++ b/app/controllers/lettings_logs_controller.rb @@ -137,9 +137,13 @@ class LettingsLogsController < LogsController def download_bulk_upload bulk_upload = BulkUpload.find(params[:id]) downloader = BulkUpload::Downloader.new(bulk_upload:) - downloader.call - send_file downloader.file_path, filename: bulk_upload.filename, type: "text/csv" + if Rails.env.development? + send_file downloader.file_path, filename: bulk_upload.filename, type: "text/csv" + else + presigned_url = downloader.presigned_url + redirect_to presigned_url + end end private diff --git a/app/controllers/sales_logs_controller.rb b/app/controllers/sales_logs_controller.rb index a953809b3..46c12024f 100644 --- a/app/controllers/sales_logs_controller.rb +++ b/app/controllers/sales_logs_controller.rb @@ -107,9 +107,13 @@ class SalesLogsController < LogsController def download_bulk_upload bulk_upload = BulkUpload.find(params[:id]) downloader = BulkUpload::Downloader.new(bulk_upload:) - downloader.call - send_file downloader.file_path, filename: bulk_upload.filename, type: "text/csv" + if Rails.env.development? + send_file downloader.file_path, filename: bulk_upload.filename, type: "text/csv" + else + presigned_url = downloader.presigned_url + redirect_to presigned_url + end end private diff --git a/app/services/bulk_upload/downloader.rb b/app/services/bulk_upload/downloader.rb index 05111bf1e..8dfab86e4 100644 --- a/app/services/bulk_upload/downloader.rb +++ b/app/services/bulk_upload/downloader.rb @@ -19,6 +19,10 @@ class BulkUpload::Downloader file.path end + def presigned_url + s3_storage_service.get_presigned_url(bulk_upload.identifier, 60) + end + private def download @@ -33,6 +37,7 @@ private end def storage_service + # or use !Rails.env.development? @storage_service ||= if FeatureToggle.upload_enabled? s3_storage_service else