diff options
Diffstat (limited to 'app/models/bulk_imports/export_status.rb')
-rw-r--r-- | app/models/bulk_imports/export_status.rb | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/app/models/bulk_imports/export_status.rb b/app/models/bulk_imports/export_status.rb index a9750a76987..4fea62edb2a 100644 --- a/app/models/bulk_imports/export_status.rb +++ b/app/models/bulk_imports/export_status.rb @@ -13,11 +13,15 @@ module BulkImports end def started? - export_status['status'] == Export::STARTED + !empty? && export_status['status'] == Export::STARTED end def failed? - export_status['status'] == Export::FAILED + !empty? && export_status['status'] == Export::FAILED + end + + def empty? + export_status.nil? end def error @@ -30,14 +34,7 @@ module BulkImports def export_status strong_memoize(:export_status) do - status = fetch_export_status - - relation_export_status = status&.find { |item| item['relation'] == relation } - - # Consider empty response as failed export - raise StandardError, 'Empty relation export status' unless relation_export_status&.present? - - relation_export_status + fetch_export_status&.find { |item| item['relation'] == relation } end rescue StandardError => e { 'status' => Export::FAILED, 'error' => e.message } |