|
|
|
@ -367,6 +367,37 @@ module Mastodon |
|
|
|
|
say("OK, unfollowed target from #{processed} accounts, skipped #{failed}", :green) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
option :number, type: :numeric, aliases: [:n] |
|
|
|
|
option :all, type: :boolean |
|
|
|
|
desc 'approve [USERNAME]', 'Approve pending accounts' |
|
|
|
|
long_desc <<~LONG_DESC |
|
|
|
|
When registrations require review from staff, approve pending accounts, |
|
|
|
|
either all of them with the --all option, or a specific number of them |
|
|
|
|
specified with the --number (-n) option, or only a single specific |
|
|
|
|
account identified by its username. |
|
|
|
|
LONG_DESC |
|
|
|
|
def approve(username = nil) |
|
|
|
|
if options[:all] |
|
|
|
|
User.pending.find_each(&:approve!) |
|
|
|
|
say('OK', :green) |
|
|
|
|
elsif options[:number] |
|
|
|
|
User.pending.limit(options[:number]).each(&:approve!) |
|
|
|
|
say('OK', :green) |
|
|
|
|
elsif username.present? |
|
|
|
|
account = Account.find_local(username) |
|
|
|
|
|
|
|
|
|
if account.nil? |
|
|
|
|
say('No such account', :red) |
|
|
|
|
exit(1) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
account.user&.approve! |
|
|
|
|
say('OK', :green) |
|
|
|
|
else |
|
|
|
|
exit(1) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
private |
|
|
|
|
|
|
|
|
|
def rotate_keys_for_account(account, delay = 0) |
|
|
|
|