Conflicts: - Gemfile.lock - app/controllers/accounts_controller.rb - app/controllers/admin/dashboard_controller.rb - app/controllers/follower_accounts_controller.rb - app/controllers/following_accounts_controller.rb - app/controllers/remote_follow_controller.rb - app/controllers/stream_entries_controller.rb - app/controllers/tags_controller.rb - app/javascript/packs/public.js - app/lib/sanitize_config.rb - app/models/account.rb - app/models/form/admin_settings.rb - app/models/media_attachment.rb - app/models/stream_entry.rb - app/models/user.rb - app/serializers/initial_state_serializer.rb - app/services/batched_remove_status_service.rb - app/services/post_status_service.rb - app/services/process_mentions_service.rb - app/services/reblog_service.rb - app/services/remove_status_service.rb - app/views/admin/settings/edit.html.haml - config/locales/simple_form.pl.yml - config/settings.yml - docker-compose.yml
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: true
 | 
						|
require 'sidekiq/api'
 | 
						|
 | 
						|
module Admin
 | 
						|
  class DashboardController < BaseController
 | 
						|
    def index
 | 
						|
      @users_count           = User.count
 | 
						|
      @registrations_week    = Redis.current.get("activity:accounts:local:#{current_week}") || 0
 | 
						|
      @logins_week           = Redis.current.pfcount("activity:logins:#{current_week}")
 | 
						|
      @interactions_week     = Redis.current.get("activity:interactions:#{current_week}") || 0
 | 
						|
      @relay_enabled         = Relay.enabled.exists?
 | 
						|
      @single_user_mode      = Rails.configuration.x.single_user_mode
 | 
						|
      @registrations_enabled = Setting.registrations_mode != 'none'
 | 
						|
      @deletions_enabled     = Setting.open_deletion
 | 
						|
      @invites_enabled       = Setting.min_invite_role == 'user'
 | 
						|
      @search_enabled        = Chewy.enabled?
 | 
						|
      @version               = Mastodon::Version.to_s
 | 
						|
      @database_version      = ActiveRecord::Base.connection.execute('SELECT VERSION()').first['version'].match(/\A(?:PostgreSQL |)([^\s]+).*\z/)[1]
 | 
						|
      @redis_version         = redis_info['redis_version']
 | 
						|
      @reports_count         = Report.unresolved.count
 | 
						|
      @queue_backlog         = Sidekiq::Stats.new.enqueued
 | 
						|
      @recent_users          = User.confirmed.recent.includes(:account).limit(4)
 | 
						|
      @database_size         = ActiveRecord::Base.connection.execute('SELECT pg_database_size(current_database())').first['pg_database_size']
 | 
						|
      @redis_size            = redis_info['used_memory']
 | 
						|
      @ldap_enabled          = ENV['LDAP_ENABLED'] == 'true'
 | 
						|
      @cas_enabled           = ENV['CAS_ENABLED'] == 'true'
 | 
						|
      @saml_enabled          = ENV['SAML_ENABLED'] == 'true'
 | 
						|
      @pam_enabled           = ENV['PAM_ENABLED'] == 'true'
 | 
						|
      @hidden_service        = ENV['ALLOW_ACCESS_TO_HIDDEN_SERVICE'] == 'true'
 | 
						|
      @trending_hashtags     = TrendingTags.get(7)
 | 
						|
      @profile_directory     = Setting.profile_directory
 | 
						|
      @timeline_preview      = Setting.timeline_preview
 | 
						|
      @keybase_integration   = Setting.enable_keybase
 | 
						|
      @spam_check_enabled    = Setting.spam_check_enabled
 | 
						|
    end
 | 
						|
 | 
						|
    private
 | 
						|
 | 
						|
    def current_week
 | 
						|
      @current_week ||= Time.now.utc.to_date.cweek
 | 
						|
    end
 | 
						|
 | 
						|
    def redis_info
 | 
						|
      @redis_info ||= Redis.current.info
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |