diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-01-23 17:38:38 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-01-23 17:38:38 +0100 |
commit | 6d98a731803eb37ff36f60ff004acfc4c27ae37b (patch) | |
tree | 5ccc79cb65ccc6174aea1c5e0a8452b5076026d9 /app/services/block_domain_service.rb | |
parent | ef2b92467977758466f4f19acb3334bee1fde107 (diff) |
Domain blocks now have varying severity - auto-suspend vs auto-silence
Diffstat (limited to 'app/services/block_domain_service.rb')
-rw-r--r-- | app/services/block_domain_service.rb | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/app/services/block_domain_service.rb b/app/services/block_domain_service.rb index a8fafe412..9518b1fcf 100644 --- a/app/services/block_domain_service.rb +++ b/app/services/block_domain_service.rb @@ -1,15 +1,16 @@ # frozen_string_literal: true class BlockDomainService < BaseService - def call(domain) - DomainBlock.find_or_create_by!(domain: domain) + def call(domain, severity) + DomainBlock.where(domain: domain).first_or_create!(domain: domain, severity: severity) - Account.where(domain: domain).find_each do |account| - if account.subscribed? - account.subscription(api_subscription_url(account.id)).unsubscribe + if severity == :silence + Account.where(domain: domain).update_all(silenced: true) + else + Account.where(domain: domain).find_each do |account| + account.subscription(api_subscription_url(account.id)).unsubscribe if account.subscribed? + SuspendAccountService.new.call(account) end - - account.destroy! end end end |