Sha256: 1a36ace26ecafe9e94e3e57ff7fd83b9d04a3d76fae06d7d0a41e23cf14f4cdd

Contents?: true

Size: 1.28 KB

Versions: 9

Compression:

Stored size: 1.28 KB

Contents

module Actions
  module Katello
    module OrphanCleanup
      class RemoveOrphans < Actions::Base
        input_format do
          param :capsule_id
        end
        def plan(proxy)
          sequence do
            plan_action(Actions::Pulp::Orchestration::OrphanCleanup::RemoveOrphans, proxy) if (proxy.has_feature?(SmartProxy::PULP_FEATURE) || proxy.has_feature?(SmartProxy::PULP_NODE_FEATURE))
            if proxy.pulp3_enabled?
              plan_action(
                Actions::Pulp3::Orchestration::OrphanCleanup::RemoveOrphans,
                proxy)
            end
            plan_self
          end
        end

        def run
          models = []
          ::Katello::RepositoryTypeManager.repository_types.each_value do |repo_type|
            indexable_types = repo_type.content_types_to_index
            models += indexable_types&.map(&:model_class)
            models.select! { |model| model.many_repository_associations }
          end
          models.each do |model|
            model.joins("left join katello_#{model.repository_association} on #{model.table_name}.id = katello_#{model.repository_association}.#{model.unit_id_field}").where("katello_#{model.repository_association}.#{model.unit_id_field} IS NULL").destroy_all
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
katello-4.1.4 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.0.3 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.1.3 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.0.2.1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.1.2.1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.0.2 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.1.2 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.1.1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-4.1.0 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb