Add domain search/filter to the "Federation" (/admin/instances) page (#10071)
This commit is contained in:
parent
2f7f6af26a
commit
6840a77711
6 changed files with 25 additions and 4 deletions
|
@ -24,6 +24,8 @@ class DomainBlock < ApplicationRecord
|
|||
has_many :accounts, foreign_key: :domain, primary_key: :domain
|
||||
delegate :count, to: :accounts, prefix: true
|
||||
|
||||
scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) }
|
||||
|
||||
def self.blocked?(domain)
|
||||
where(domain: domain, severity: :suspend).exists?
|
||||
end
|
||||
|
|
|
@ -9,9 +9,13 @@ class InstanceFilter
|
|||
|
||||
def results
|
||||
if params[:limited].present?
|
||||
DomainBlock.order(id: :desc)
|
||||
scope = DomainBlock
|
||||
scope = scope.matches_domain(params[:by_domain]) if params[:by_domain].present?
|
||||
scope.order(id: :desc)
|
||||
else
|
||||
Account.remote.by_domain_accounts
|
||||
scope = Account.remote
|
||||
scope = scope.matches_domain(params[:by_domain]) if params[:by_domain].present?
|
||||
scope.by_domain_accounts
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue