12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- # frozen_string_literal: true
- require 'concurrent'
- require_relative 'base'
- module Mastodon::CLI
- class CanonicalEmailBlocks < Base
- desc 'find EMAIL', 'Find a given e-mail address in the canonical e-mail blocks'
- long_desc <<-LONG_DESC
- When suspending a local user, a hash of a "canonical" version of their e-mail
- address is stored to prevent them from signing up again.
- This command can be used to find whether a known email address is blocked.
- LONG_DESC
- def find(email)
- accts = CanonicalEmailBlock.matching_email(email)
- if accts.empty?
- say("#{email} is not blocked", :green)
- else
- say("#{email} is blocked", :red)
- end
- end
- desc 'remove EMAIL', 'Remove a canonical e-mail block'
- long_desc <<-LONG_DESC
- When suspending a local user, a hash of a "canonical" version of their e-mail
- address is stored to prevent them from signing up again.
- This command allows removing a canonical email block.
- LONG_DESC
- def remove(email)
- blocks = CanonicalEmailBlock.matching_email(email)
- if blocks.empty?
- say("#{email} is not blocked", :green)
- else
- blocks.destroy_all
- say("Unblocked #{email}", :green)
- end
- end
- end
- end
|