diff options
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| |