about summary refs log tree commit diff
path: root/app/models/report_filter.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2021-07-11 11:01:38 +0200
committerGitHub <noreply@github.com>2021-07-11 11:01:38 +0200
commit7095c80373c4a4d73b3e7b4f69bee24c4a57828d (patch)
tree99c4a606bfb94b320bc7061cd87ca32e0f26af1b /app/models/report_filter.rb
parentca8ac1a6390da16fe403276c60aec0e06d831f5b (diff)
Add ability to filter reports by origin of target account (#16487)
Diffstat (limited to 'app/models/report_filter.rb')
-rw-r--r--app/models/report_filter.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/app/models/report_filter.rb b/app/models/report_filter.rb
index c32d4359e..a91a6baeb 100644
--- a/app/models/report_filter.rb
+++ b/app/models/report_filter.rb
@@ -6,6 +6,7 @@ class ReportFilter
     account_id
     target_account_id
     by_target_domain
+    target_origin
   ).freeze
 
   attr_reader :params
@@ -34,8 +35,21 @@ class ReportFilter
       Report.where(account_id: value)
     when :target_account_id
       Report.where(target_account_id: value)
+    when :target_origin
+      target_origin_scope(value)
     else
       raise "Unknown filter: #{key}"
     end
   end
+
+  def target_origin_scope(value)
+    case value.to_sym
+    when :local
+      Report.where(target_account: Account.local)
+    when :remote
+      Report.where(target_account: Account.remote)
+    else
+      raise "Unknown value: #{value}"
+    end
+  end
 end