diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-07-21 15:49:37 +0200 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-09-01 10:21:09 +0200 |
commit | 1e668a3cfebfcf576a8c5da834bad094fd9039f6 (patch) | |
tree | 405caed1e99ae5f642c9f363d793b3a9a64c4dd1 /app/serializers/group_entity.rb | |
parent | bf4ec606a56238326bf4930c59d0ca82dd281cb7 (diff) | |
download | gitlab-ce-bvl-show-projects-in-group-tree.tar.gz |
Rework subgroup endpointbvl-show-projects-in-group-tree
Diffstat (limited to 'app/serializers/group_entity.rb')
-rw-r--r-- | app/serializers/group_entity.rb | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/app/serializers/group_entity.rb b/app/serializers/group_entity.rb index 7c872a3e986..7df4d828e30 100644 --- a/app/serializers/group_entity.rb +++ b/app/serializers/group_entity.rb @@ -10,6 +10,16 @@ class GroupEntity < Grape::Entity expose :parent_id expose :created_at, :updated_at + def project_count + @project_count ||= GroupProjectsFinder.new(group: object, current_user: request.current_user).execute.count + end + + expose :projects, using: ProjectEntity do |group| + GroupProjectsFinder.new(group: group, current_user: request.current_user).execute.limit(10) + end + + expose :project_count + expose :group_path do |group| group_path(group) end @@ -32,12 +42,12 @@ class GroupEntity < Grape::Entity can?(request.current_user, :admin_group, group) end - expose :has_subgroups do |group| - GroupsFinder.new(request.current_user, parent: group).execute.any? + expose :subgroup_count do |group| + GroupsFinder.new(request.current_user, parent: object).execute.count end expose :number_projects_with_delimiter do |group| - number_with_delimiter(GroupProjectsFinder.new(group: group, current_user: request.current_user).execute.count) + number_with_delimiter(project_count) end expose :number_users_with_delimiter do |group| |