diff options
Diffstat (limited to 'lib/api/entities/namespace.rb')
-rw-r--r-- | lib/api/entities/namespace.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/api/entities/namespace.rb b/lib/api/entities/namespace.rb index 5e0630e0f7f..012dc467a1c 100644 --- a/lib/api/entities/namespace.rb +++ b/lib/api/entities/namespace.rb @@ -11,11 +11,15 @@ module API namespace.kind == 'group' && Ability.allowed?(opts[:current_user], :admin_group, namespace) end - expose :root_repository_size, documentation: { type: 'integer', example: 123 }, if: -> (namespace, opts) { expose_root_repository_size?(namespace, opts) } do |namespace, _| + expose :root_repository_size, documentation: { type: 'integer', example: 123 }, if: -> (namespace, opts) { admin_request_for_group?(namespace, opts) } do |namespace, _| namespace.root_storage_statistics&.repository_size end - def expose_root_repository_size?(namespace, opts) + expose :projects_count, documentation: { type: 'integer', example: 123 }, if: -> (namespace, opts) { admin_request_for_group?(namespace, opts) } do |namespace, _| + namespace.all_projects.count + end + + def admin_request_for_group?(namespace, opts) namespace.kind == 'group' && Ability.allowed?(opts[:current_user], :admin_group, namespace) end end |