diff options
author | Nick Thomas <nick@gitlab.com> | 2019-01-24 16:23:57 +0000 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2019-03-05 15:00:32 +0000 |
commit | 21779d00186d75349165d6c07dbe04aace68017c (patch) | |
tree | 25aaf112b51d6f5360a3e97db6f31f98a642660e /lib/api/version.rb | |
parent | 42d3117f9c3371e07e8b0aafab6f504e87251c2a (diff) | |
download | gitlab-ce-21779d00186d75349165d6c07dbe04aace68017c.tar.gz |
Add metadata about the GitLab server to GraphQL
Diffstat (limited to 'lib/api/version.rb')
-rw-r--r-- | lib/api/version.rb | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/api/version.rb b/lib/api/version.rb index 74cd857f447..eca1b529094 100644 --- a/lib/api/version.rb +++ b/lib/api/version.rb @@ -2,13 +2,29 @@ module API class Version < Grape::API + helpers ::API::Helpers::GraphqlHelpers + before { authenticate! } + METADATA_QUERY = <<~EOF + { + metadata { + version + revision + } + } + EOF + desc 'Get the version information of the GitLab instance.' do detail 'This feature was introduced in GitLab 8.13.' end get '/version' do - { version: Gitlab::VERSION, revision: Gitlab.revision } + conditionally_graphql!( + query: METADATA_QUERY, + context: { current_user: current_user }, + transform: ->(result) { result.dig('data', 'metadata') }, + fallback: -> { { version: Gitlab::VERSION, revision: Gitlab.revision } } + ) end end end |