about summary refs log tree commit diff
path: root/app/services/block_domain_service.rb
diff options
context:
space:
mode:
authorPatrick Figel <patrick@figel.email>2017-04-29 02:44:03 +0200
committerEugen Rochko <eugen@zeonfederated.com>2017-04-29 02:44:03 +0200
commit197af5de70221498f44c60ebfbffd4d4c803dead (patch)
treed348fa89a5f20398074f6b72bee2848f02783a8b /app/services/block_domain_service.rb
parent27301312a698e0fd2d1898d9e1c579d7f9ee861f (diff)
Set unknown attachment type when adding domain blocks (#2605)
Follow-up to #2599. When a domain block with `reject_media` is
added or `rake mastodon:media:remove_remote` is invoked, mastodon
deletes the locally cached attachments and avatars but does not
reflect that change in the database, causing the `file` fields to
still have values. This change persists the deletion in the
database and sets the attachment type to unknown.

This also introduces a one-off rake task that sets all attachments
without a local file to the "unknown" type. The upgrade notes for
the next release should contain a post-upgrade step with
`rake mastodon:media:set_unknown`.
Diffstat (limited to 'app/services/block_domain_service.rb')
-rw-r--r--app/services/block_domain_service.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/app/services/block_domain_service.rb b/app/services/block_domain_service.rb
index 5d13cfc0e..d15a1e83c 100644
--- a/app/services/block_domain_service.rb
+++ b/app/services/block_domain_service.rb
@@ -39,12 +39,15 @@ class BlockDomainService < BaseService
     blocked_domain_accounts.find_each do |account|
       account.avatar.destroy
       account.header.destroy
+      account.save
     end
   end
 
   def clear_account_attachments
     media_from_blocked_domain.find_each do |attachment|
       attachment.file.destroy
+      attachment.type = :unknown
+      attachment.save
     end
   end