summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorOswaldo Ferreira <oswaldo@gitlab.com>2017-06-28 17:27:01 -0300
committerOswaldo Ferreira <oswaldo@gitlab.com>2017-06-28 17:27:01 -0300
commitbd4c2847f4a60b392902aa1866c1ccc87cfacbf6 (patch)
treebcd7c8ffc15c8610c16e9df2df440174d974da20 /lib
parent7db276897f290889ba7c1e66b38389b1c55f3f80 (diff)
downloadgitlab-ce-bd4c2847f4a60b392902aa1866c1ccc87cfacbf6.tar.gz
Rename members_count to members_count_with_descendants and expose only to group admins
Diffstat (limited to 'lib')
-rw-r--r--lib/api/entities.rb8
-rw-r--r--lib/api/namespaces.rb2
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 2fe5280bc1c..cef5a0abe12 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -446,8 +446,12 @@ module API
class Namespace < Grape::Entity
expose :id, :name, :path, :kind, :full_path, :parent_id
- expose :members_count do |namespace, _|
- namespace.users_with_descendants.count if namespace.kind == 'group'
+ expose :members_count_with_descendants, if: -> (namespace, opts) { expose_members_count_with_descendants?(namespace, opts) } do |namespace, _|
+ namespace.users_with_descendants.count
+ end
+
+ def expose_members_count_with_descendants?(namespace, opts)
+ namespace.kind == 'group' && Ability.allowed?(opts[:current_user], :admin_group, namespace)
end
end
diff --git a/lib/api/namespaces.rb b/lib/api/namespaces.rb
index 30761cb9b55..f1eaff6b0eb 100644
--- a/lib/api/namespaces.rb
+++ b/lib/api/namespaces.rb
@@ -17,7 +17,7 @@ module API
namespaces = namespaces.search(params[:search]) if params[:search].present?
- present paginate(namespaces), with: Entities::Namespace
+ present paginate(namespaces), with: Entities::Namespace, current_user: current_user
end
end
end