diff options
author | Rémy Coutable <remy@rymai.me> | 2017-08-11 14:08:20 +0200 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-08-11 15:14:32 +0200 |
commit | 09a348eb139178be534d181273a360a3125df9f9 (patch) | |
tree | f39b5b1969454a80a2cd0ae03368ff92aa968a8f /lib | |
parent | 810c44ae7468fff1934ba1d54bf2b895d98f0842 (diff) | |
download | gitlab-ce-09a348eb139178be534d181273a360a3125df9f9.tar.gz |
Include the `is_admin` field in the `GET /users/:id` API when current user is an admin
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/api/users.rb | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/api/users.rb b/lib/api/users.rb index a590f2692a2..e2019d6d512 100644 --- a/lib/api/users.rb +++ b/lib/api/users.rb @@ -79,22 +79,17 @@ module API end desc 'Get a single user' do - success Entities::UserBasic + success Entities::User end params do requires :id, type: Integer, desc: 'The ID of the user' end get ":id" do user = User.find_by(id: params[:id]) - not_found!('User') unless user + not_found!('User') unless user && can?(current_user, :read_user, user) - if current_user && current_user.admin? - present user, with: Entities::UserPublic - elsif can?(current_user, :read_user, user) - present user, with: Entities::User - else - render_api_error!("User not found.", 404) - end + opts = current_user&.admin? ? { with: Entities::UserWithAdmin } : {} + present user, opts end desc 'Create a user. Available only for admins.' do |