summaryrefslogtreecommitdiff
path: root/app/services/ci/destroy_pipeline_service.rb
blob: 9aea20c45f70c19e6ed563878e33a1f4ae40be7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
# frozen_string_literal: true

module Ci
  class DestroyPipelineService < BaseService
    def execute(pipeline)
      raise Gitlab::Access::AccessDeniedError unless can?(current_user, :destroy_pipeline, pipeline)

      Ci::ExpirePipelineCacheService.new.execute(pipeline, delete: true)

      pipeline.destroy!
    end
  end
end