Upstream sync
This commit is contained in:
@@ -15,6 +15,7 @@ class MatchAppearanceReleasesJob < ApplicationJob
|
||||
matches = response.matches || []
|
||||
key_signed_id_hash = Hash[filtered_attachments_object[:keys].zip(filtered_attachments_object[:signed_ids])]
|
||||
handle_matches matches, project, key_signed_id_hash
|
||||
handle_unmatches matches, project, key_signed_id_hash
|
||||
matching_request.destroy
|
||||
end
|
||||
|
||||
@@ -40,6 +41,21 @@ class MatchAppearanceReleasesJob < ApplicationJob
|
||||
end
|
||||
end
|
||||
|
||||
def handle_unmatches(matches, project, key_signed_id_hash)
|
||||
matched_keys = matches.flat_map { |match| match.contracts + match.headshots }
|
||||
unmatches = key_signed_id_hash.find_all { |key, _| !key.in?(matched_keys) }
|
||||
|
||||
unmatches.each do |key, signed_id|
|
||||
blob = ActiveStorage::Blob.find_signed signed_id
|
||||
|
||||
if blob.image?
|
||||
create_release(project, nil, signed_id, nil)
|
||||
else
|
||||
create_release(project, signed_id, nil, nil)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def create_release(project, contract, headshot, identifier)
|
||||
random_contract_no = AppearanceRelease.random_contract_number.to_s
|
||||
is_incomplete = contract.nil? || headshot.nil?
|
||||
|
||||
Reference in New Issue
Block a user