aboutsummaryrefslogtreecommitdiff
blob: e625b966552022e4c9470d29aed0767bf3ed5f07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class PackageRemovalJob < ApplicationJob
  queue_as :default

  def perform(*args)
    atom, _options = args

    package_doc = PackageRepository.find_by(:atom, atom)
    return if package_doc.nil?

    package_doc.versions.each { |v| VersionRepository.delete(v) }
    PackageRepository.delete(package_doc)

    Rails.logger.warn { "Package deleted: #{atom}" }
    # USE flags are cleaned up by the UseflagsUpdateJob
  end
end