fix completed submitters

This commit is contained in:
Pete Matsyburka
2024-10-26 19:42:16 +03:00
parent 46e948ab99
commit 1b636c5878
6 changed files with 27 additions and 13 deletions
+13 -7
View File
@@ -6,6 +6,8 @@ class ProcessSubmitterCompletionJob
def perform(params = {})
submitter = Submitter.find(params['submitter_id'])
create_completed_submitter!(submitter)
is_all_completed = !submitter.submission.submitters.exists?(completed_at: nil)
if !is_all_completed && submitter.submission.submitters_order_preserved?
@@ -24,7 +26,7 @@ class ProcessSubmitterCompletionJob
enqueue_completed_emails(submitter)
end
create_completed_submitter!(submitter)
create_completed_documents!(submitter)
enqueue_completed_webhooks(submitter, is_all_completed:)
end
@@ -45,15 +47,19 @@ class ProcessSubmitterCompletionJob
completed_at: submitter.completed_at
)
submitter.documents.each do |attachment|
next if attachment.metadata['sha256'].blank?
completed_submitter.completed_documents << CompletedDocument.new(sha256: attachment.metadata['sha256'])
end
completed_submitter.save!
completed_submitter
rescue ActiveRecord::RecordNotUnique
retry
end
def create_completed_documents!(submitter)
submitter.documents.filter_map do |attachment|
next if attachment.metadata['sha256'].blank?
CompletedDocument.find_or_create_by!(sha256: attachment.metadata['sha256'], submitter_id: submitter.id)
end
end
def enqueue_completed_webhooks(submitter, is_all_completed: false)