diff options
Diffstat (limited to 'app/models/users_statistics.rb')
-rw-r--r-- | app/models/users_statistics.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/models/users_statistics.rb b/app/models/users_statistics.rb index 5c5f62d5d87..5b4c0ef37d0 100644 --- a/app/models/users_statistics.rb +++ b/app/models/users_statistics.rb @@ -11,4 +11,22 @@ class UsersStatistics < ApplicationRecord :bots, :blocked ].freeze + + private + + def highest_role_stats + return unless Feature.enabled?(:users_statistics) + + { + owner: batch_count_for_access_level(Gitlab::Access::OWNER), + maintainer: batch_count_for_access_level(Gitlab::Access::MAINTAINER), + developer: batch_count_for_access_level(Gitlab::Access::DEVELOPER), + reporter: batch_count_for_access_level(Gitlab::Access::REPORTER), + guest: batch_count_for_access_level(Gitlab::Access::GUEST) + } + end + + def batch_count_for_access_level(access_level) + Gitlab::Database::BatchCount.batch_count(UserHighestRole.with_highest_access_level(access_level)) + end end |