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 |