Purge status reactions on account delete

This commit is contained in:
Essem 2024-02-07 17:14:16 -06:00 committed by Jeremy Kescher
parent e4a333c6ae
commit d61b323c84
No known key found for this signature in database
GPG key ID: 80A419A7A613DFA4

View file

@ -147,6 +147,7 @@ class DeleteAccountService < BaseService
purge_polls! purge_polls!
purge_generated_notifications! purge_generated_notifications!
purge_favourites! purge_favourites!
purge_status_reactions!
purge_bookmarks! purge_bookmarks!
purge_feeds! purge_feeds!
purge_other_associations! purge_other_associations!
@ -193,6 +194,15 @@ class DeleteAccountService < BaseService
end end
end end
def purge_status_reactions!
@account.status_reactions.in_batches do |status_reactions|
ids = status_reactions.pluck(:status_id)
Chewy.strategy.current.update(StatusesIndex, ids) if Chewy.enabled?
Rails.cache.delete_multi(ids.map { |id| "statuses/#{id}" })
status_reactions.delete_all
end
end
def purge_bookmarks! def purge_bookmarks!
@account.bookmarks.in_batches do |bookmarks| @account.bookmarks.in_batches do |bookmarks|
Chewy.strategy.current.update(StatusesIndex, bookmarks.pluck(:status_id)) if Chewy.enabled? Chewy.strategy.current.update(StatusesIndex, bookmarks.pluck(:status_id)) if Chewy.enabled?