Add instance search feature (#4925)
parent
9e2ff3ef71
commit
da77f65c46
@ -0,0 +1,28 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
class InstanceFilter |
||||
attr_reader :params |
||||
|
||||
def initialize(params) |
||||
@params = params |
||||
end |
||||
|
||||
def results |
||||
scope = Account.remote.by_domain_accounts |
||||
params.each do |key, value| |
||||
scope.merge!(scope_for(key, value)) if value.present? |
||||
end |
||||
scope |
||||
end |
||||
|
||||
private |
||||
|
||||
def scope_for(key, value) |
||||
case key.to_s |
||||
when 'domain_name' |
||||
Account.matches_domain(value) |
||||
else |
||||
raise "Unknown filter: #{key}" |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue