* 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
 |