Commit 5be0265fe7e82a127e9fd2805e81e4e40f5e3c5f
1 parent
41e93bbf
Exists in
master
and in
4 other branches
Status code 400 returned if title not given in a milestone (via API)
If a milestone is created via API but no title given then status code 400 (Bad request) is returned instead of 404. A small helper method handles the errors collection of a milestone.
Showing
1 changed file
with
16 additions
and
0 deletions
Show diff stats
lib/api/milestones.rb
| @@ -4,6 +4,20 @@ module Gitlab | @@ -4,6 +4,20 @@ module Gitlab | ||
| 4 | before { authenticate! } | 4 | before { authenticate! } |
| 5 | 5 | ||
| 6 | resource :projects do | 6 | resource :projects do |
| 7 | + | ||
| 8 | + helpers do | ||
| 9 | + # If an error occurs this helper method handles error codes for a given milestone | ||
| 10 | + # | ||
| 11 | + # Parameters: | ||
| 12 | + # milestone_errors (required) - The erros collection of a milestone | ||
| 13 | + # | ||
| 14 | + def handle_milestone_errors(milestone_errors) | ||
| 15 | + if milestone_errors[:title].any? | ||
| 16 | + error!(milestone_errors[:title], 400) | ||
| 17 | + end | ||
| 18 | + end | ||
| 19 | + end | ||
| 20 | + | ||
| 7 | # Get a list of project milestones | 21 | # Get a list of project milestones |
| 8 | # | 22 | # |
| 9 | # Parameters: | 23 | # Parameters: |
| @@ -47,6 +61,7 @@ module Gitlab | @@ -47,6 +61,7 @@ module Gitlab | ||
| 47 | if @milestone.save | 61 | if @milestone.save |
| 48 | present @milestone, with: Entities::Milestone | 62 | present @milestone, with: Entities::Milestone |
| 49 | else | 63 | else |
| 64 | + handle_milestone_errors(@milestone.errors) | ||
| 50 | not_found! | 65 | not_found! |
| 51 | end | 66 | end |
| 52 | end | 67 | end |
| @@ -70,6 +85,7 @@ module Gitlab | @@ -70,6 +85,7 @@ module Gitlab | ||
| 70 | if @milestone.update_attributes attrs | 85 | if @milestone.update_attributes attrs |
| 71 | present @milestone, with: Entities::Milestone | 86 | present @milestone, with: Entities::Milestone |
| 72 | else | 87 | else |
| 88 | + handle_milestone_errors(@milestone.errors) | ||
| 73 | not_found! | 89 | not_found! |
| 74 | end | 90 | end |
| 75 | end | 91 | end |