diff options
author | multiple creatures <dev@multiple-creature.party> | 2020-02-17 02:26:52 -0600 |
---|---|---|
committer | multiple creatures <dev@multiple-creature.party> | 2020-02-17 02:26:52 -0600 |
commit | 2427cced78580da729a0ac6a1dc52b2d206aa11c (patch) | |
tree | e0b703674d3a1fb523b447eb512ff0b2ac6ddd65 /app/services/block_domain_service.rb | |
parent | 8bf7e00362b4e5bf29e3841bd871590871b5257d (diff) |
add a `manual_only` (manual trust only) moderation option + handle more `reject_unknown`/graylist mode caveats
Diffstat (limited to 'app/services/block_domain_service.rb')
-rw-r--r-- | app/services/block_domain_service.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/app/services/block_domain_service.rb b/app/services/block_domain_service.rb index 1fae42c50..36634fdd5 100644 --- a/app/services/block_domain_service.rb +++ b/app/services/block_domain_service.rb @@ -24,6 +24,7 @@ class BlockDomainService < BaseService clear_media! if domain_block.reject_media? || domain_block.suspend? force_accounts_sensitive! if domain_block.force_sensitive? mark_unknown_accounts! if domain_block.reject_unknown? + mark_accounts_manual_only! if domain_block.manual_only? if domain_block.force_unlisted? force_accounts_unlisted! @@ -52,8 +53,19 @@ class BlockDomainService < BaseService end end + def mark_accounts_manual_only! + blocked_domain_accounts.in_batches.update_all(manual_only: true) + end + def mark_unknown_accounts! - unknown_accounts.in_batches.update_all(known: false) + ApplicationRecord.transaction do + unknown_accounts.in_batches.update_all(known: false) + unknown_accounts.find_each do |account| + account.avatar = nil + account.header = nil + account.save! + end + end end def force_accounts_unlisted! |