2019-04-12 08:19:28 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Clusters
|
|
|
|
module Applications
|
|
|
|
class DestroyService < ::Clusters::Applications::BaseService
|
|
|
|
def execute(_request)
|
|
|
|
instantiate_application.tap do |application|
|
|
|
|
break unless application.can_uninstall?
|
|
|
|
|
|
|
|
application.make_scheduled!
|
|
|
|
|
|
|
|
Clusters::Applications::UninstallWorker.perform_async(application.name, application.id)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def builder
|
2019-09-17 08:06:48 -04:00
|
|
|
cluster.public_send(application_class.association_name) # rubocop:disable GitlabSecurity/PublicSend
|
2019-04-12 08:19:28 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|