* Record account suspend/silence time and keep track of domain blocks * Also unblock users who were suspended/silenced before dates were recorded * Add tests * Keep track of suspending date for users suspended through the CLI * Show accurate number of accounts that would be affected by unsuspending an instance * Change migration to set silenced_at and suspended_at * Revert "Also unblock users who were suspended/silenced before dates were recorded" This reverts commit a015c65d2d1e28c7b7cfab8b3f8cd5fb48b8b71c. * Switch from using suspended and silenced to suspended_at and silenced_at * Add post-deployment migration script to remove `suspended` and `silenced` columns * Use Account#silence! and Account#suspend! instead of updating the underlying property * Add silenced_at and suspended_at migration to post-migration * Change account fabricator to translate suspended and silenced attributes * Minor fixes * Make unblocking domains always retroactive
		
			
				
	
	
		
			14 lines
		
	
	
		
			535 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			535 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
keypair     = OpenSSL::PKey::RSA.new(2048)
 | 
						|
public_key  = keypair.public_key.to_pem
 | 
						|
private_key = keypair.to_pem
 | 
						|
 | 
						|
Fabricator(:account) do
 | 
						|
  transient :suspended, :silenced
 | 
						|
  username            { sequence(:username) { |i| "#{Faker::Internet.user_name(nil, %w(_))}#{i}" } }
 | 
						|
  last_webfingered_at { Time.now.utc }
 | 
						|
  public_key          { public_key }
 | 
						|
  private_key         { private_key }
 | 
						|
  suspended_at        { |attrs| attrs[:suspended] ? Time.now.utc : nil }
 | 
						|
  silenced_at         { |attrs| attrs[:silenced] ? Time.now.utc : nil }
 | 
						|
end
 |