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'
|
alert_message = t 'appearance_releases.create.no_attachments'
|
||||||
redirect_to [@project, :appearance_releases], alert: alert_message
|
redirect_to [@project, :appearance_releases], alert: alert_message
|
||||||
else
|
else
|
||||||
filtered_attachments = filter_attachments attachments
|
# filtered_attachments = filter_attachments attachments
|
||||||
MatchAppearanceReleasesJob.perform_later(@project, filtered_attachments)
|
MatchAppearanceReleasesJob.perform_later(@project, attachments)
|
||||||
notice_message = t 'appearance_releases.create.matching_started'
|
notice_message = t 'appearance_releases.create.matching_started'
|
||||||
redirect_to [@project, :appearance_releases], notice: notice_message
|
redirect_to [@project, :appearance_releases], notice: notice_message
|
||||||
end
|
end
|
||||||
@@ -36,17 +36,6 @@ class AppearanceReleaseImportsController < ApplicationController
|
|||||||
params.require(:attachments)
|
params.require(:attachments)
|
||||||
end
|
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
|
def acceptable_extensions
|
||||||
AppearanceRelease.acceptable_import_file_extensions
|
AppearanceRelease.acceptable_import_file_extensions
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,12 +4,17 @@ class MatchAppearanceReleasesJob < ApplicationJob
|
|||||||
queue_as :default
|
queue_as :default
|
||||||
|
|
||||||
def perform(project, attachments)
|
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}
|
return if filtered_attachments_object[:keys].blank?
|
||||||
response = BrayniacAI::AppearanceReleaseMatching.match_attachments payload
|
|
||||||
# BrayniacAI::QrMatching.enable_logging
|
matching_request = MatchingRequest.create project: project, attachments: filtered_attachments_object[:signed_keys]
|
||||||
# response = BrayniacAI::QrMatching.create! payload
|
|
||||||
|
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] || []
|
matches = response[:matches] || []
|
||||||
|
|
||||||
@@ -72,4 +77,26 @@ class MatchAppearanceReleasesJob < ApplicationJob
|
|||||||
def aws_bucket_name
|
def aws_bucket_name
|
||||||
ENV.fetch 'AWS_BUCKET'
|
ENV.fetch 'AWS_BUCKET'
|
||||||
end
|
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
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user