catstodon/app/services/block_domain_service.rb

17 lines
524 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2016-10-09 14:48:43 +02:00
class BlockDomainService < BaseService
def call(domain, severity)
DomainBlock.where(domain: domain).first_or_create!(domain: domain, severity: severity)
2016-10-09 14:48:43 +02:00
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)
2016-10-09 14:48:43 +02:00
end
end
end
end