summaryrefslogtreecommitdiff
path: root/lib/api/entities/group.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/entities/group.rb')
-rw-r--r--lib/api/entities/group.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/api/entities/group.rb b/lib/api/entities/group.rb
new file mode 100644
index 00000000000..8bcad5bca35
--- /dev/null
+++ b/lib/api/entities/group.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+module API
+ module Entities
+ class Group < BasicGroupDetails
+ expose :path, :description, :visibility
+ expose :share_with_group_lock
+ expose :require_two_factor_authentication
+ expose :two_factor_grace_period
+ expose :project_creation_level_str, as: :project_creation_level
+ expose :auto_devops_enabled
+ expose :subgroup_creation_level_str, as: :subgroup_creation_level
+ expose :emails_disabled
+ expose :mentions_disabled
+ expose :lfs_enabled?, as: :lfs_enabled
+ expose :avatar_url do |group, options|
+ group.avatar_url(only_path: false)
+ end
+ expose :request_access_enabled
+ expose :full_name, :full_path
+ expose :parent_id
+
+ expose :custom_attributes, using: 'API::Entities::CustomAttribute', if: :with_custom_attributes
+
+ expose :statistics, if: :statistics do
+ with_options format_with: -> (value) { value.to_i } do
+ expose :storage_size
+ expose :repository_size
+ expose :wiki_size
+ expose :lfs_objects_size
+ expose :build_artifacts_size, as: :job_artifacts_size
+ end
+ end
+ end
+ end
+end