diff options
author | Matija Čupić <matteeyah@gmail.com> | 2018-11-12 21:18:57 +0300 |
---|---|---|
committer | Matija Čupić <matteeyah@gmail.com> | 2018-11-12 21:43:03 +0300 |
commit | 99203bfe23975b8dbbaa5daa613fbc90fd39178f (patch) | |
tree | 77ecf8ef90762f09b85e8cf5003d5c6e080171fd /app/services/ci | |
parent | 5b45cd246373f18bf678dbdecad589733cfec8b0 (diff) |
Destroy pipeline in service
Move all logic for destroying a Pipeline into a service so it's easily
reusable.
Diffstat (limited to 'app/services/ci')
-rw-r--r-- | app/services/ci/destroy_pipeline_service.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/services/ci/destroy_pipeline_service.rb b/app/services/ci/destroy_pipeline_service.rb new file mode 100644 index 00000000000..059e871f20e --- /dev/null +++ b/app/services/ci/destroy_pipeline_service.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Ci + class DestroyPipelineService < BaseService + def execute(pipeline) + return false unless can?(current_user, :destroy_pipeline, project) + + AuditEventService.new(current_user, pipeline).security_event + + pipeline.destroy + end + end +end |