Sha256: 7ba4f1ef55232c4b9a401cdd82fac926de67065724ee8f5c101f209701c03d61

Contents?: true

Size: 1.22 KB

Versions: 4

Compression:

Stored size: 1.22 KB

Contents

module Actions
  module Katello
    module OrphanCleanup
      class RemoveOrphans < Pulp::Abstract
        input_format do
          param :capsule_id
        end
        def plan(proxy)
          sequence do
            plan_action(Actions::Pulp::Orchestration::OrphanCleanup::RemoveOrphans, proxy)
            if proxy.pulp3_enabled? && ::Katello::Ping.pulpcore_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

4 entries across 4 versions & 1 rubygems

Version Path
katello-3.18.5 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-3.18.4 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-3.18.3.1 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb
katello-3.18.3 app/lib/actions/katello/orphan_cleanup/remove_orphans.rb