From b1b46cf998c1c0669f4c23e96667800368d0a804 Mon Sep 17 00:00:00 2001 From: Alex Turchyn Date: Fri, 1 Sep 2023 19:08:35 +0300 Subject: [PATCH] use proxy urls for webhook attachments --- lib/submitters/serialize_for_webhook.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/submitters/serialize_for_webhook.rb b/lib/submitters/serialize_for_webhook.rb index bb13ba8c..f00406de 100644 --- a/lib/submitters/serialize_for_webhook.rb +++ b/lib/submitters/serialize_for_webhook.rb @@ -37,18 +37,24 @@ module Submitters def build_documents_array(submitter) submitter.documents.preload(:blob).map do |attachment| - { name: attachment.filename.base, url: attachment.url } + { name: attachment.filename.base, url: rails_storage_proxy_url(attachment) } end end def fetch_field_value(field, value, attachments_index) if field['type'].in?(%w[image signature]) - attachments_index[value]&.url + rails_storage_proxy_url(attachments_index[value]) elsif field['type'] == 'file' - Array.wrap(value).compact_blank.filter_map { |e| attachments_index[e]&.url } + Array.wrap(value).compact_blank.filter_map { |e| rails_storage_proxy_url(e) } else value end end + + def rails_storage_proxy_url(attachment) + return if attachment.blank? + + Rails.application.routes.url_helpers.rails_storage_proxy_url(attachment, **Docuseal.default_url_options) + end end end