diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-03-01 16:50:23 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-03-01 16:50:23 +0000 |
commit | 9b3c1a8c4f53d97ef46e82706dc159756b354ad3 (patch) | |
tree | e935245d7132d15c33d47725fe8ce26b960d986d /lib | |
parent | 6b0e37b05fae14530b10b9357ebaef87920222e3 (diff) | |
parent | 278f4423d1bbec596d3556582439e09b2376367b (diff) | |
download | gitlab-ce-9b3c1a8c4f53d97ef46e82706dc159756b354ad3.tar.gz |
Merge branch 'fix/commit-status-api-improvement' into 'master'
Return empty array when commit has no statuses in API
This makes API endpoint for Commit Statuses return empty array instead
of 404 when commit exists, but has no statuses.
Closes #3080
See merge request !3010
Diffstat (limited to 'lib')
-rw-r--r-- | lib/api/commit_statuses.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/api/commit_statuses.rb b/lib/api/commit_statuses.rb index 9422d438d21..8e74e177ea0 100644 --- a/lib/api/commit_statuses.rb +++ b/lib/api/commit_statuses.rb @@ -18,10 +18,12 @@ module API # Examples: # GET /projects/:id/repository/commits/:sha/statuses get ':id/repository/commits/:sha/statuses' do - authorize! :read_commit_status, user_project - sha = params[:sha] - ci_commit = user_project.ci_commit(sha) - not_found! 'Commit' unless ci_commit + authorize!(:read_commit_status, user_project) + + not_found!('Commit') unless user_project.commit(params[:sha]) + ci_commit = user_project.ci_commit(params[:sha]) + return [] unless ci_commit + statuses = ci_commit.statuses statuses = statuses.latest unless parse_boolean(params[:all]) statuses = statuses.where(ref: params[:ref]) if params[:ref].present? |