send attachment keys using ActiveResource
This commit is contained in:
@@ -15,8 +15,8 @@ class AppearanceReleaseImportsController < ApplicationController
|
||||
alert_message = t 'appearance_releases.create.no_attachments'
|
||||
redirect_to [@project, :appearance_releases], alert: alert_message
|
||||
else
|
||||
filtered_attachments = filter_attachments attachments
|
||||
MatchAppearanceReleasesJob.perform_later(@project, filtered_attachments)
|
||||
# filtered_attachments = filter_attachments attachments
|
||||
MatchAppearanceReleasesJob.perform_later(@project, attachments)
|
||||
notice_message = t 'appearance_releases.create.matching_started'
|
||||
redirect_to [@project, :appearance_releases], notice: notice_message
|
||||
end
|
||||
@@ -36,17 +36,6 @@ class AppearanceReleaseImportsController < ApplicationController
|
||||
params.require(:attachments)
|
||||
end
|
||||
|
||||
def filter_attachments(attachments)
|
||||
filtered_attachments = []
|
||||
attachments.each do |attachment|
|
||||
blob = ActiveStorage::Blob.find_signed attachment
|
||||
next if blob.nil?
|
||||
|
||||
extension = blob.filename.extension
|
||||
filtered_attachments << attachment if blob.image? || extension == 'pdf'
|
||||
end
|
||||
end
|
||||
|
||||
def acceptable_extensions
|
||||
AppearanceRelease.acceptable_import_file_extensions
|
||||
end
|
||||
|
||||
@@ -4,12 +4,17 @@ class MatchAppearanceReleasesJob < ApplicationJob
|
||||
queue_as :default
|
||||
|
||||
def perform(project, attachments)
|
||||
matching_request = MatchingRequest.create project: project, attachments: attachments
|
||||
filtered_attachments_object = filter_attachments attachments
|
||||
|
||||
payload = { request_id: matching_request.id, bucket: aws_bucket_name, files: attachments}
|
||||
response = BrayniacAI::AppearanceReleaseMatching.match_attachments payload
|
||||
# BrayniacAI::QrMatching.enable_logging
|
||||
# response = BrayniacAI::QrMatching.create! payload
|
||||
return if filtered_attachments_object[:keys].blank?
|
||||
|
||||
matching_request = MatchingRequest.create project: project, attachments: filtered_attachments_object[:signed_keys]
|
||||
|
||||
payload = { request_id: matching_request.id, bucket: aws_bucket_name, files: filtered_attachments_object[:keys]}
|
||||
|
||||
# response = BrayniacAI::AppearanceReleaseMatching.match_attachments payload
|
||||
BrayniacAI::QrMatching.enable_logging
|
||||
response = BrayniacAI::QrMatching.create! payload
|
||||
|
||||
matches = response[:matches] || []
|
||||
|
||||
@@ -72,4 +77,26 @@ class MatchAppearanceReleasesJob < ApplicationJob
|
||||
def aws_bucket_name
|
||||
ENV.fetch 'AWS_BUCKET'
|
||||
end
|
||||
|
||||
def filter_attachments(attachments)
|
||||
filtered_attachments_keys = []
|
||||
filtered_attachments_names = []
|
||||
filtered_attachments_signed_ids = []
|
||||
attachments.each do |attachment|
|
||||
blob = ActiveStorage::Blob.find_signed attachment
|
||||
next if blob.nil?
|
||||
|
||||
extension = blob.filename.extension
|
||||
next unless blob.image? || extension == 'pdf'
|
||||
|
||||
filtered_attachments_keys << blob.key
|
||||
filtered_attachments_names << blob.filename.to_s
|
||||
filtered_attachments_signed_ids << attachment
|
||||
end
|
||||
{
|
||||
keys: filtered_attachments_keys,
|
||||
names: filtered_attachments_names,
|
||||
signed_keys: filtered_attachments_signed_ids
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user