diff options
author | James Lopez <james@jameslopez.es> | 2017-07-05 16:27:32 +0200 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2017-07-05 17:02:20 +0200 |
commit | 98d7ae9568d59992dd1e78a13c5d60f116db1183 (patch) | |
tree | 62c51c524ef6e455f3b3ab2cee6512793fd2440f | |
parent | f25cde6df8794aaf24c2f68d3a551b131060a1ee (diff) | |
download | gitlab-ce-98d7ae9568d59992dd1e78a13c5d60f116db1183.tar.gz |
add user agent details API endpoints to issues and snippets
-rw-r--r-- | lib/api/issues.rb | 17 | ||||
-rw-r--r-- | lib/api/snippets.rb | 17 | ||||
-rw-r--r-- | spec/requests/api/issues_spec.rb | 2 |
3 files changed, 35 insertions, 1 deletions
diff --git a/lib/api/issues.rb b/lib/api/issues.rb index 09dca0dff8b..88dd31739da 100644 --- a/lib/api/issues.rb +++ b/lib/api/issues.rb @@ -241,6 +241,23 @@ module API present paginate(merge_requests), with: Entities::MergeRequestBasic, current_user: current_user, project: user_project end + + desc 'Get the user agent details for an issue' do + success Entities::UserAgentDetail + end + params do + requires :issue_iid, type: Integer, desc: 'The internal ID of a project issue' + end + get ":id/issues/:issue_iid/user_agent_detail" do + authenticated_as_admin! + + issue = find_project_issue(params[:issue_iid]) + + return not_found!('Issue') unless issue + return not_found!('UserAgentDetail') unless issue.user_agent_detail + + present issue.user_agent_detail, with: Entities::UserAgentDetail, current_user: current_user, project: user_project + end end end end diff --git a/lib/api/snippets.rb b/lib/api/snippets.rb index c630c24c339..db4e0b0b013 100644 --- a/lib/api/snippets.rb +++ b/lib/api/snippets.rb @@ -140,6 +140,23 @@ module API content_type 'text/plain' present snippet.content end + + desc 'Get the user agent details for a snippet' do + success Entities::UserAgentDetail + end + params do + requires :id, type: Integer, desc: 'The ID of a snippet' + end + get ":id/user_agent_detail" do + authenticated_as_admin! + + snippet = Snippet.find_by(id: params[:id]) + + return not_found!('Snippet') unless snippet + return not_found!('UserAgentDetail') unless snippet.user_agent_detail + + present snippet.user_agent_detail, with: Entities::UserAgentDetail + end end end end diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb index 2fb9c3ee3ad..b60756741fc 100644 --- a/spec/requests/api/issues_spec.rb +++ b/spec/requests/api/issues_spec.rb @@ -1463,7 +1463,7 @@ describe API::Issues do end describe "GET /projects/:id/issues/:issue_iid/user_agent_detail" do - let(:user_agent_detail) { create(:user_agent_detail, subject: issue) } + let!(:user_agent_detail) { create(:user_agent_detail, subject: issue) } it 'exposes known attributes' do get api("/projects/#{project.id}/issues/#{issue.iid}/user_agent_detail", admin) |