diff options
author | Luke Duncalfe <lduncalfe@eml.cc> | 2019-04-08 17:07:53 +1200 |
---|---|---|
committer | Luke Duncalfe <lduncalfe@eml.cc> | 2019-04-09 10:57:01 +1200 |
commit | e73f537cb5097e85849110bafe184cb89e3bbc22 (patch) | |
tree | c711e4148007708c5dcb9fb45eab68092b8a9503 /lib/api/internal.rb | |
parent | 68f189ad23d7a384f40caa152d263fdf1465b30a (diff) | |
download | gitlab-ce-e73f537cb5097e85849110bafe184cb89e3bbc22.tar.gz |
Refactor PushOptionsHandlerService from review
Exceptions are no longer raised, instead all errors encountered are
added to the errors property.
MergeRequests::BuildService is used to generate attributes of a new
merge request.
Code moved from Api::Internal to Api::Helpers::InternalHelpers.
Diffstat (limited to 'lib/api/internal.rb')
-rw-r--r-- | lib/api/internal.rb | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/lib/api/internal.rb b/lib/api/internal.rb index ee1fb465608..224aaaaf006 100644 --- a/lib/api/internal.rb +++ b/lib/api/internal.rb @@ -264,24 +264,8 @@ module API PostReceive.perform_async(params[:gl_repository], params[:identifier], params[:changes], push_options.as_json) - if (mr_options = push_options.get(:merge_request)) - begin - service = ::MergeRequests::PushOptionsHandlerService.new( - project, - user, - params[:changes], - mr_options - ).execute - - if service.errors.present? - output[:warnings] = push_options_warning(service.errors.join("\n\n")) - end - rescue ::MergeRequests::PushOptionsHandlerService::Error => e - output[:warnings] = push_options_warning(e.message) - rescue Gitlab::Access::AccessDeniedError - output[:warnings] = push_options_warning('User access was denied') - end - end + mr_options = push_options.get(:merge_request) + output.merge!(process_mr_push_options(mr_options, project, user, params[:changes])) if mr_options.present? broadcast_message = BroadcastMessage.current&.last&.message reference_counter_decreased = Gitlab::ReferenceCounter.new(params[:gl_repository]).decrease |