mastodon/app/models/domain_whitelist.rb

28 lines
609 B
Ruby

# frozen_string_literal: true
class DomainWhitelist < ApplicationRecord
enum severity: [:silence, :enable]
def self.enabled?
return Setting.where(var: 'whitelist_enabled').first_or_initialize(var: 'whitelist_enabled', value: false)
end
validates :domain, presence: true, uniqueness: true
def self.blocked?(domain)
!where(domain: domain).exists?
end
def self.silenced?(domain)
where(domain: domain, severity: silence).exists?
end
before_validation :normalize_domain
private
def normalize_domain
self.domain = TagManager.instance.normalize_domain(domain)
end
end