From 8ec59bd18bcacf13c012a34b3e37c2c9167bcc65 Mon Sep 17 00:00:00 2001 From: "Artem V. Navrotskiy" Date: Sat, 29 Aug 2015 12:52:21 +0300 Subject: Add API method for get user by ID of an SSH key --- lib/api/api.rb | 1 + lib/api/entities.rb | 4 ++++ lib/api/keys.rb | 20 ++++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 lib/api/keys.rb (limited to 'lib') diff --git a/lib/api/api.rb b/lib/api/api.rb index eebd44ea5b6..c09488d3547 100644 --- a/lib/api/api.rb +++ b/lib/api/api.rb @@ -50,5 +50,6 @@ module API mount Branches mount Labels mount Settings + mount Keys end end diff --git a/lib/api/entities.rb b/lib/api/entities.rb index 1f9dd6bc152..8dddcd7ccc3 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -199,6 +199,10 @@ module API expose :id, :title, :key, :created_at end + class SSHKeyWithUser < SSHKey + expose :user, using: Entities::UserFull + end + class Note < Grape::Entity expose :id expose :note, as: :body diff --git a/lib/api/keys.rb b/lib/api/keys.rb new file mode 100644 index 00000000000..2b723b79504 --- /dev/null +++ b/lib/api/keys.rb @@ -0,0 +1,20 @@ +module API + # Keys API + class Keys < Grape::API + before { authenticate! } + + resource :keys do + # Get single ssh key by id. Only available to admin users. + # + # Example Request: + # GET /keys/:id + get ":id" do + authenticated_as_admin! + + key = Key.find(params[:id]) + + present key, with: Entities::SSHKeyWithUser + end + end + end +end -- cgit v1.2.3