39 lines
795 B
Ruby
39 lines
795 B
Ruby
# frozen_string_literal: true
|
|
|
|
class AllowDomainService < BaseService
|
|
def self.default_allow
|
|
return :suspend if DomainWhitelist.enabled?
|
|
:enable
|
|
end
|
|
|
|
def self.record_type
|
|
if DomainWhitelist.enabled?
|
|
DomainWhitelist
|
|
else
|
|
DomainBlock
|
|
end
|
|
end
|
|
|
|
def self.call(domain)
|
|
return true if domain.nil?
|
|
domain = self.record_type.find_by(domain: domain)
|
|
return self.default_allow if domain.nil?
|
|
return domain.severity
|
|
end
|
|
|
|
def self.blocked?(domain)
|
|
return self.call(domain) == :suspend
|
|
end
|
|
|
|
def self.silenced?(domain)
|
|
sev = self.call(domain)
|
|
return sev == :silence || sev == "silence"
|
|
end
|
|
|
|
def self.reject_media?(domain)
|
|
domain = self.record_type.find_by(domain: domain)
|
|
!domain.nil? && domain.reject_media?
|
|
end
|
|
|
|
end
|