Fix call to inefficient delete_matched cache method in domain blocks (#28374)

This commit is contained in:
Claire 2023-12-18 17:14:43 +01:00 committed by GitHub
parent f4b9c2ba40
commit 7d9b209fe8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 96 additions and 50 deletions

View file

@ -60,12 +60,6 @@ module Account::Interactions
end
end
def domain_blocking_map(target_account_ids, account_id)
accounts_map = Account.where(id: target_account_ids).select('id, domain').each_with_object({}) { |a, h| h[a.id] = a.domain }
blocked_domains = domain_blocking_map_by_domain(accounts_map.values.compact, account_id)
accounts_map.reduce({}) { |h, (id, domain)| h.merge(id => blocked_domains[domain]) }
end
def domain_blocking_map_by_domain(target_domains, account_id)
follow_mapping(AccountDomainBlock.where(account_id: account_id, domain: target_domains), :domain)
end