From 5b45cd246373f18bf678dbdecad589733cfec8b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 12 Nov 2018 16:27:28 +0100 Subject: Implement MVC for Pipeline deletion API --- lib/api/pipelines.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lib/api') diff --git a/lib/api/pipelines.rb b/lib/api/pipelines.rb index 1cfb982c04b..d4bd4e71343 100644 --- a/lib/api/pipelines.rb +++ b/lib/api/pipelines.rb @@ -81,6 +81,21 @@ module API present pipeline, with: Entities::Pipeline end + desc 'Deletes a pipeline' do + detail 'This feature was introduced in GitLab 11.6' + http_codes [[204, 'Pipeline was deleted'], [403, 'Forbidden']] + end + params do + requires :pipeline_id, type: Integer, desc: 'The pipeline ID' + end + delete ':id/pipelines/:pipeline_id' do + authorize! :admin_pipeline, user_project + + AuditEventService.new(current_user, user_project).security_event + + destroy_conditionally!(pipeline) + end + desc 'Retry builds in the pipeline' do detail 'This feature was introduced in GitLab 8.11.' success Entities::Pipeline -- cgit v1.2.1 From 99203bfe23975b8dbbaa5daa613fbc90fd39178f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 12 Nov 2018 19:18:57 +0100 Subject: Destroy pipeline in service Move all logic for destroying a Pipeline into a service so it's easily reusable. --- lib/api/pipelines.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/api') diff --git a/lib/api/pipelines.rb b/lib/api/pipelines.rb index d4bd4e71343..39d693bb9e9 100644 --- a/lib/api/pipelines.rb +++ b/lib/api/pipelines.rb @@ -89,11 +89,11 @@ module API requires :pipeline_id, type: Integer, desc: 'The pipeline ID' end delete ':id/pipelines/:pipeline_id' do - authorize! :admin_pipeline, user_project + authorize! :destroy_pipeline, user_project - AuditEventService.new(current_user, user_project).security_event - - destroy_conditionally!(pipeline) + destroy_conditionally!(pipeline) do + ::Ci::DestroyPipelineService.new(user_project, current_user).execute(pipeline) + end end desc 'Retry builds in the pipeline' do -- cgit v1.2.1 From 0bc14b452218277a55f71ab22bed724b696ecf28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Tue, 13 Nov 2018 17:17:01 +0100 Subject: Authorize DestroyPipelineService against pipeline --- lib/api/pipelines.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/api') diff --git a/lib/api/pipelines.rb b/lib/api/pipelines.rb index 39d693bb9e9..cba1e3a6684 100644 --- a/lib/api/pipelines.rb +++ b/lib/api/pipelines.rb @@ -89,7 +89,7 @@ module API requires :pipeline_id, type: Integer, desc: 'The pipeline ID' end delete ':id/pipelines/:pipeline_id' do - authorize! :destroy_pipeline, user_project + authorize! :destroy_pipeline, pipeline destroy_conditionally!(pipeline) do ::Ci::DestroyPipelineService.new(user_project, current_user).execute(pipeline) -- cgit v1.2.1 From f1f038956a3afa7ae77c7155f5302f1dc63884a4 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Wed, 14 Nov 2018 15:00:23 +0100 Subject: Revert API is going into 11.5, not 11.6. --- lib/api/commits.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/api') diff --git a/lib/api/commits.rb b/lib/api/commits.rb index 3b8f3fedccf..337b92a6183 100644 --- a/lib/api/commits.rb +++ b/lib/api/commits.rb @@ -207,7 +207,7 @@ module API end desc 'Revert a commit in a branch' do - detail 'This feature was introduced in GitLab 11.6' + detail 'This feature was introduced in GitLab 11.5' success Entities::Commit end params do -- cgit v1.2.1