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

@ -30,7 +30,7 @@ module Admin
end
def resource_params
params.require(:admin_account_action).permit(:type, :report_id, :warning_preset_id, :text, :send_email_notification, :include_statuses)
params.require(:admin_account_action).permit(:type, :report_id, :warning_preset_id, :text, :send_email_notification, :include_statuses, :create_account_summary)
end
end
end

View file

@ -26,7 +26,8 @@ class Api::V1::Admin::AccountActionsController < Api::BaseController
:report_id,
:warning_preset_id,
:text,
:send_email_notification
:send_email_notification,
:create_account_summary
)
end
end

View file

@ -46,7 +46,7 @@ class Settings::DeletesController < Settings::BaseController
def destroy_account!
current_account.suspend!
Admin::SuspensionWorker.perform_async(current_user.account_id, true)
Admin::SuspensionWorker.perform_async(current_user.account_id, reserve_email: false)
sign_out
end
end