mastodon/app/lib/admin/system_check.rb
David Roetzel b5bec6f142
Add system check for missing indexes.
As part of #18965 we want to enable admins to see if one or
more indexes are missing. This adds a new "system check" to
display a warning in case indexes are missing.

The list of indexes we expect to be present are extracted from
`db/schema.rb` using ruby's new `prism` parser.
2024-09-11 11:57:48 +02:00

26 lines
635 B
Ruby

# frozen_string_literal: true
class Admin::SystemCheck
ACTIVE_CHECKS = [
Admin::SystemCheck::SoftwareVersionCheck,
Admin::SystemCheck::MediaPrivacyCheck,
Admin::SystemCheck::DatabaseSchemaCheck,
Admin::SystemCheck::SidekiqProcessCheck,
Admin::SystemCheck::RulesCheck,
Admin::SystemCheck::ElasticsearchCheck,
Admin::SystemCheck::MissingIndexesCheck,
].freeze
def self.perform(current_user)
ACTIVE_CHECKS.each_with_object([]) do |klass, arr|
check = klass.new(current_user)
if check.skip? || check.pass?
arr
else
arr << check.message
end
end
end
end