Sha256: 125a193d1d243b83ebb886eb002ad84de9eb209f74235bb02ec46386a3105819

Contents?: true

Size: 1.65 KB

Versions: 4

Compression:

Stored size: 1.65 KB

Contents

module Actions
  module Pulp3
    module Orchestration
      module Repository
        class ImportUpload < Pulp3::AbstractAsyncTask
          def plan(repository, smart_proxy, args)
            file = {:filename => args.dig(:unit_key, :name)}
            content_unit_href = args.dig(:unit_key, :content_unit_id)
            sequence do
              if !content_unit_href
                action_output = plan_self(:repository_id => repository.id, :smart_proxy_id => smart_proxy.id, :upload_href => "/pulp/api/v3/uploads/" + args.dig(:upload_id) + "/", :sha256 => args.dig(:unit_key, :checksum)).output
                artifact_action_output = plan_action(Pulp3::Repository::SaveArtifact, file, repository, smart_proxy, action_output[:pulp_tasks], args.dig(:unit_type_id)).output
                content_unit_href = artifact_action_output[:pulp_tasks]
              else
                plan_self(:skip => true)
              end
              action_output = plan_action(Pulp3::Repository::ImportUpload, content_unit_href, repository, smart_proxy).output
              plan_action(Pulp3::Repository::SaveVersion, repository, action_output[:pulp_tasks]).output
            end
          end

          def invoke_external_task
            if input[:skip]
              output[:pulp_tasks] = nil
            else
              repo = ::Katello::Repository.find(input[:repository_id])
              repo_backend_service = repo.backend_service(smart_proxy)
              uploads_api = repo_backend_service.uploads_api
              output[:pulp_tasks] = [uploads_api.commit(input[:upload_href], sha256: input[:sha256])]
            end
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
katello-3.14.1 app/lib/actions/pulp3/orchestration/repository/import_upload.rb
katello-3.14.0 app/lib/actions/pulp3/orchestration/repository/import_upload.rb
katello-3.14.0.rc2 app/lib/actions/pulp3/orchestration/repository/import_upload.rb
katello-3.14.0.rc1 app/lib/actions/pulp3/orchestration/repository/import_upload.rb