From 98d7ae9568d59992dd1e78a13c5d60f116db1183 Mon Sep 17 00:00:00 2001 From: James Lopez Date: Wed, 5 Jul 2017 16:27:32 +0200 Subject: add user agent details API endpoints to issues and snippets --- lib/api/issues.rb | 17 +++++++++++++++++ lib/api/snippets.rb | 17 +++++++++++++++++ spec/requests/api/issues_spec.rb | 2 +- 3 files changed, 35 insertions(+), 1 deletion(-) 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) -- cgit v1.2.1