diff --git a/lib/submissions/generate_audit_trail.rb b/lib/submissions/generate_audit_trail.rb index ed0aed2c..fd4d1fe0 100644 --- a/lib/submissions/generate_audit_trail.rb +++ b/lib/submissions/generate_audit_trail.rb @@ -48,9 +48,11 @@ module Submissions document.sign(io, **sign_params) + Submissions::GenerateResultAttachments.maybe_enable_ltv(io, sign_params) + ActiveStorage::Attachment.create!( blob: ActiveStorage::Blob.create_and_upload!( - io: StringIO.new(io.string), filename: "Audit Log - #{submission.template.name}.pdf" + io: io.tap(&:rewind), filename: "Audit Log - #{submission.template.name}.pdf" ), name: 'audit_trail', record: submission diff --git a/lib/submissions/generate_combined_attachment.rb b/lib/submissions/generate_combined_attachment.rb index c04c267d..7234ff4e 100644 --- a/lib/submissions/generate_combined_attachment.rb +++ b/lib/submissions/generate_combined_attachment.rb @@ -24,9 +24,11 @@ module Submissions pdf.sign(io, **sign_params) + Submissions::GenerateResultAttachments.maybe_enable_ltv(io, sign_params) + ActiveStorage::Attachment.create!( blob: ActiveStorage::Blob.create_and_upload!( - io: StringIO.new(io.string), filename: "#{submission.template.name}.pdf" + io: io.tap(&:rewind), filename: "#{submission.template.name}.pdf" ), name: 'combined_document', record: submission diff --git a/lib/submissions/generate_result_attachments.rb b/lib/submissions/generate_result_attachments.rb index 8cdfcafd..97ed29ea 100644 --- a/lib/submissions/generate_result_attachments.rb +++ b/lib/submissions/generate_result_attachments.rb @@ -349,6 +349,8 @@ module Submissions pdf.sign(io, write_options: { validate: false, incremental: false }, **sign_params) end + + maybe_enable_ltv(io, sign_params) else begin pdf.write(io, incremental: true, validate: false) @@ -358,10 +360,9 @@ module Submissions pdf.write(io, incremental: false, validate: false) end end - # rubocop:enable Metrics ActiveStorage::Attachment.new( - blob: ActiveStorage::Blob.create_and_upload!(io: StringIO.new(io.string), filename: "#{name}.pdf"), + blob: ActiveStorage::Blob.create_and_upload!(io: io.tap(&:rewind), filename: "#{name}.pdf"), metadata: { original_uuid: uuid, analyzed: true, sha256: Base64.urlsafe_encode64(Digest::SHA256.digest(io.string)) }, @@ -369,6 +370,11 @@ module Submissions record: submitter ) end + # rubocop:enable Metrics + + def maybe_enable_ltv(io, _sign_params) + io + end def build_signing_params(pkcs, tsa_url) params = {