Add option to keep evidence when suspending accounts

Fix #547

When selected, before the account's data is removed, some of it
is denormalized into a separate, symmetrically-encrypted table. In
particular:

- The e-mail
- All IPs used to access the account
- SHA256 fingerprints of all uploaded files
- URIs of accounts followed by or following the account
- URIs of accounts that were invited
This commit is contained in:
Eugen Rochko 2020-01-12 19:42:24 +01:00
parent 3a6f9860fc
commit 7bf27db007
15 changed files with 234 additions and 9 deletions

View file

@ -5,7 +5,7 @@ class Admin::SuspensionWorker
sidekiq_options queue: 'pull'
def perform(account_id, remove_user = false)
SuspendAccountService.new.call(Account.find(account_id), reserve_username: true, reserve_email: !remove_user)
def perform(account_id, options = {})
SuspendAccountService.new.call(Account.find(account_id), **options.symbolize_keys)
end
end