Commit 0c73e6664389ef5af352560c2fced1fbfc650a27

Authored by Dmitriy Zaporozhets
1 parent fe6d3922

Specify error codes for merge api

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing 1 changed file with 12 additions and 9 deletions   Show diff stats
lib/api/merge_requests.rb
@@ -130,22 +130,25 @@ module API @@ -130,22 +130,25 @@ module API
130 end 130 end
131 131
132 if can?(current_user, action, project) 132 if can?(current_user, action, project)
133 - # Check if MR can be merged by GitLab  
134 if merge_request.unchecked? 133 if merge_request.unchecked?
135 merge_request.check_if_can_be_merged 134 merge_request.check_if_can_be_merged
136 end 135 end
137 136
138 - if merge_request.open? && merge_request.can_be_merged?  
139 - merge_request.automerge!(current_user, params[:merge_commit_message] || merge_request.merge_commit_message)  
140 -  
141 - # return success 137 + if merge_request.open?
  138 + if merge_request.can_be_merged?
  139 + merge_request.automerge!(current_user, params[:merge_commit_message] || merge_request.merge_commit_message)
  140 + else
  141 + render_api_error!('Branch cannot be merged', 405)
  142 + end
142 else 143 else
143 -  
144 - # Checkif can be merged 144 + # Merge request can not be merged
  145 + # because it is already closed/merged
  146 + not_allowed!
145 end 147 end
146 -  
147 else 148 else
148 - # not allowed 149 + # Merge request can not be merged
  150 + # because user dont have permissions to push into target branch
  151 + unauthorized!
149 end 152 end
150 end 153 end
151 154