uploads: fix direct file uploads not working.
This commit is contained in:
@@ -37,16 +37,22 @@ class UploadMediaAsset < ApplicationRecord
|
|||||||
active? || failed?
|
active? || failed?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def file_upload?
|
||||||
|
source_url.starts_with?("file://")
|
||||||
|
end
|
||||||
|
|
||||||
def source_strategy
|
def source_strategy
|
||||||
return nil if source_url.blank?
|
return nil if source_url.blank?
|
||||||
Sources::Strategies.find(source_url, page_url)
|
Sources::Strategies.find(source_url, page_url)
|
||||||
end
|
end
|
||||||
|
|
||||||
def async_process_upload!
|
def async_process_upload!
|
||||||
|
return if file_upload?
|
||||||
ProcessUploadMediaAssetJob.perform_later(self)
|
ProcessUploadMediaAssetJob.perform_later(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
def process_upload!
|
def process_upload!
|
||||||
|
return if file_upload?
|
||||||
update!(status: :processing)
|
update!(status: :processing)
|
||||||
|
|
||||||
strategy = Sources::Strategies.find(source_url)
|
strategy = Sources::Strategies.find(source_url)
|
||||||
|
|||||||
@@ -10,12 +10,13 @@ module UploadTestHelper
|
|||||||
source = { file: file }
|
source = { file: file }
|
||||||
end
|
end
|
||||||
|
|
||||||
post_auth uploads_path(format: :json), user, params: { upload: { **source, **params }}
|
perform_enqueued_jobs do
|
||||||
|
post_auth uploads_path(format: :json), user, params: { upload: { **source, **params }}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def assert_successful_upload(source_or_file_path, user: create(:user), **params)
|
def assert_successful_upload(source_or_file_path, user: create(:user), **params)
|
||||||
create_upload!(source_or_file_path, user: user, **params)
|
create_upload!(source_or_file_path, user: user, **params)
|
||||||
perform_enqueued_jobs
|
|
||||||
|
|
||||||
upload = Upload.last
|
upload = Upload.last
|
||||||
assert_response 201
|
assert_response 201
|
||||||
|
|||||||
Reference in New Issue
Block a user