diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2018-09-28 03:34:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-28 03:34:24 +0200 |
commit | 38f5f9cf5bc7d053b53ddf1661fa0b12878a87cd (patch) | |
tree | 06949d0660accb31a2aea4f1299618dd3976b24d | |
parent | f0fff3eb1051ff77ec3f37aa75f8c56720b626a3 (diff) |
Add tootctl accounts backup (#8811)
-rw-r--r-- | lib/mastodon/accounts_cli.rb | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/lib/mastodon/accounts_cli.rb b/lib/mastodon/accounts_cli.rb index 65c1b395a..b743c5ea1 100644 --- a/lib/mastodon/accounts_cli.rb +++ b/lib/mastodon/accounts_cli.rb @@ -170,11 +170,32 @@ module Mastodon exit(1) end - say("Deleting user with #{account.statuses_count}, this might take a while...") + say("Deleting user with #{account.statuses_count} statuses, this might take a while...") SuspendAccountService.new.call(account, remove_user: true) say('OK', :green) end + desc 'backup USERNAME', 'Request a backup for a user' + long_desc <<-LONG_DESC + Request a new backup for an account with a given USERNAME. + + The backup will be created in Sidekiq asynchronously, and + the user will receive an e-mail with a link to it once + it's done. + LONG_DESC + def backup(username) + account = Account.find_local(username) + + if account.nil? + say('No user with such username', :red) + exit(1) + end + + backup = account.user.backups.create! + BackupWorker.perform_async(backup.id) + say('OK', :green) + end + option :dry_run, type: :boolean desc 'cull', 'Remove remote accounts that no longer exist' long_desc <<-LONG_DESC |