summaryrefslogtreecommitdiff
path: root/app/controllers/admin/dashboard_controller.rb
blob: 20e36e5fd845ff7b8b6e57a9e70073b8b738eefc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# frozen_string_literal: true

class Admin::DashboardController < Admin::ApplicationController
  include CountHelper

  COUNTED_ITEMS = [Project, User, Group].freeze

  feature_category :not_owned # rubocop:todo Gitlab/AvoidFeatureCategoryNotOwned

  # rubocop: disable CodeReuse/ActiveRecord
  def index
    @counts = Gitlab::Database::Count.approximate_counts(COUNTED_ITEMS)
    @projects = Project.order_id_desc.without_deleted.with_route.limit(10)
    @users = User.order_id_desc.limit(10)
    @groups = Group.order_id_desc.with_route.limit(10)
    @notices = Gitlab::ConfigChecker::PumaRuggedChecker.check
    @notices += Gitlab::ConfigChecker::ExternalDatabaseChecker.check
    @redis_versions = [
      Gitlab::Redis::Queues,
      Gitlab::Redis::SharedState,
      Gitlab::Redis::Cache,
      Gitlab::Redis::TraceChunks,
      Gitlab::Redis::RateLimiting,
      Gitlab::Redis::Sessions
    ].map(&:version).uniq
  end
  # rubocop: enable CodeReuse/ActiveRecord

  def stats
    @users_statistics = UsersStatistics.latest
  end
end

Admin::DashboardController.prepend_mod_with('Admin::DashboardController')