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 130 end
131 131  
132 132 if can?(current_user, action, project)
133   - # Check if MR can be merged by GitLab
134 133 if merge_request.unchecked?
135 134 merge_request.check_if_can_be_merged
136 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 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 147 end
146   -
147 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 152 end
150 153 end
151 154  
... ...