summaryrefslogtreecommitdiff
path: root/app/serializers/group_entity.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/serializers/group_entity.rb')
-rw-r--r--app/serializers/group_entity.rb16
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|