19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'app/lib/actions/pulp3/content_view_version/create_export_history.rb', line 19
def run
smart_proxy = ::SmartProxy.unscoped.find(input[:smart_proxy_id])
api = ::Katello::Pulp3::Api::Core.new(smart_proxy)
export_data = api.export_api.list(input[:exporter_data][:pulp_href]).results.first
output[:exported_file_checksum] = export_data.output_file_info
file_name = output[:exported_file_checksum].first&.first
path = File.dirname(file_name.to_s)
output[:path] = path
cvv = ::Katello::ContentViewVersion.find(input[:content_view_version_id])
from_cvv = ::Katello::ContentViewVersion.find(input[:from_content_view_version_id]) unless input[:from_content_view_version_id].blank?
export_metadata = ::Katello::Pulp3::ContentViewVersion::Export.create(
content_view_version: cvv,
smart_proxy: smart_proxy,
format: ::Katello::Pulp3::ContentViewVersion::Export::IMPORTABLE,
from_content_view_version: from_cvv).generate_metadata
toc_path_info = output[:exported_file_checksum].find { |item| item.first.end_with?("toc.json") }
export_metadata[:toc] = File.basename(toc_path_info.first)
history = ::Katello::ContentViewVersionExportHistory.create!(
content_view_version_id: input[:content_view_version_id],
destination_server: input[:destination_server],
path: path,
metadata: export_metadata,
audit_comment: ::Katello::ContentViewVersionExportHistory.(content_view_version: cvv,
user: User.current,
from_version: from_cvv,
metadata: export_metadata)
)
output[:export_history_id] = history.id
output[:format] = ::Katello::Pulp3::ContentViewVersion::Export::IMPORTABLE
end
|