allow to download combined pdf via api
This commit is contained in:
@@ -44,7 +44,7 @@ module Api
|
|||||||
@submission.audit_trail_attachment = Submissions::GenerateAuditTrail.call(@submission)
|
@submission.audit_trail_attachment = Submissions::GenerateAuditTrail.call(@submission)
|
||||||
end
|
end
|
||||||
|
|
||||||
render json: Submissions::SerializeForApi.call(@submission, submitters)
|
render json: Submissions::SerializeForApi.call(@submission, submitters, params)
|
||||||
end
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ module Submissions
|
|||||||
|
|
||||||
module_function
|
module_function
|
||||||
|
|
||||||
def call(submission, submitters = nil)
|
def call(submission, submitters = nil, params = {})
|
||||||
submitters ||= submission.submitters.preload(documents_attachments: :blob, attachments_attachments: :blob)
|
submitters ||= submission.submitters.preload(documents_attachments: :blob, attachments_attachments: :blob)
|
||||||
|
|
||||||
serialized_submitters = submitters.map { |submitter| Submitters::SerializeForApi.call(submitter) }
|
serialized_submitters = submitters.map { |submitter| Submitters::SerializeForApi.call(submitter) }
|
||||||
@@ -32,6 +32,10 @@ module Submissions
|
|||||||
if submitters.all?(&:completed_at?)
|
if submitters.all?(&:completed_at?)
|
||||||
last_submitter = submitters.max_by(&:completed_at)
|
last_submitter = submitters.max_by(&:completed_at)
|
||||||
|
|
||||||
|
if params[:include].to_s.include?('combined_document_url')
|
||||||
|
json[:combined_document_url] = build_combined_url(submitters.max_by(&:completed_at), submission)
|
||||||
|
end
|
||||||
|
|
||||||
json[:documents] = serialized_submitters.find { |e| e['id'] == last_submitter.id }['documents']
|
json[:documents] = serialized_submitters.find { |e| e['id'] == last_submitter.id }['documents']
|
||||||
json[:status] = 'completed'
|
json[:status] = 'completed'
|
||||||
json[:completed_at] = last_submitter.completed_at
|
json[:completed_at] = last_submitter.completed_at
|
||||||
@@ -45,5 +49,14 @@ module Submissions
|
|||||||
|
|
||||||
json
|
json
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def build_combined_url(submitter, submission)
|
||||||
|
return unless submitter.completed_at?
|
||||||
|
|
||||||
|
attachment = submission.combined_document_attachment
|
||||||
|
attachment ||= Submissions::GenerateCombinedAttachment.call(submitter)
|
||||||
|
|
||||||
|
ActiveStorage::Blob.proxy_url(attachment.blob)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user