diff --git a/lib/api/merge_requests.rb b/lib/api/merge_requests.rb index 7e4ec7e803cee528059974a72631772565fd8869..5adf57b36c565147d6f74bdaed0ec513057d3cdb 100644 --- a/lib/api/merge_requests.rb +++ b/lib/api/merge_requests.rb @@ -4,21 +4,12 @@ module Gitlab before { authenticate! } resource :projects do - helpers do - # If an error occurred this helper method provides an appropriate status code - # - # Parameters: - # merge_request_errors (required) - The errors collection of MR - # - def handle_merge_request_error(merge_request_errors) - if merge_request_errors[:target_branch].any? - bad_request!(:target_branch) - elsif merge_request_errors[:source_branch].any? - bad_request!(:source_branch) - elsif merge_request_errors[:base].any? - error!(merge_request_errors[:base], 422) + def handle_merge_request_errors!(errors) + if errors[:project_access].any? + error!(errors[:project_access], 422) end + not_found! end end @@ -78,8 +69,7 @@ module Gitlab merge_request.reload_code present merge_request, with: Entities::MergeRequest else - handle_merge_request_error(merge_request.errors) - not_found! + handle_merge_request_errors! merge_request.errors end end @@ -107,8 +97,7 @@ module Gitlab merge_request.mark_as_unchecked present merge_request, with: Entities::MergeRequest else - handle_merge_request_error(merge_request.errors) - not_found! + handle_merge_request_errors! merge_request.errors end end diff --git a/lib/api/projects.rb b/lib/api/projects.rb index cf48f88bec9b6fdae11de720512cfaf25241ee07..b8efef318d34b88cd6366add391a7dcde3c0676f 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -233,7 +233,7 @@ module Gitlab end end - # Delete project hook + # Deletes project hook. This is an idempotent function. # # Parameters: # id (required) - The ID of a project @@ -248,6 +248,7 @@ module Gitlab @hook = ProjectHook.find(params[:hook_id]) @hook.destroy rescue + # ProjectHook can raise Error if hook_id not found end end