+require 'common/errors'
require 'common/runner'
class RmRunner
def run(plugin, *targets)
targets.each do |target|
- # Why think too hard? An account has an @, a domain doesn't.
+ # Why think too hard? An user has an @, a domain doesn't.
if target.include?('@') then
begin
- account_description = plugin.describe_account(target)
- plugin.delete_account(target)
- report(plugin, "Removed account: #{target} (#{account_description})")
+ user_description = plugin.describe_user(target)
+ plugin.delete_user(target)
+ report(plugin, "Removed user: #{target} (#{user_description})")
- rescue NonexistentAccountError => e
- report(plugin, "Account not found: #{e.to_s}")
+ rescue NonexistentUserError => e
+ report(plugin, "User not found: #{e.to_s}")
rescue StandardError => e
- report(plugin, "There was an error removing the account: #{e.to_s}")
+ report(plugin, "There was an error removing the user: #{e.to_s}")
Kernel.exit(ExitCodes::DATABASE_ERROR)
end
else
begin
- # We must delete all accounts belonging to the domain first.
- # This prevents us from leaving behind accounts. Not a
- # problem with the mailstore, since we'll delete the domain
- # directory anyway, but it is for the database plugins.
- usernames = plugin.get_domain_usernames(target)
- usernames.each { |u| run(plugin, u) }
-
domain_description = plugin.describe_domain(target)
plugin.delete_domain(target)
report(plugin, "Removed domain: #{target} (#{domain_description})")
- rescue NonexistentAccountError => e
+ rescue NonexistentUserError => e
# Can happen in the usernames.each... block.
- report(plugin, "Account not found: #{e.to_s}")
+ report(plugin, "User not found: #{e.to_s}")
rescue NonexistentDomainError => e
report(plugin, "Domain not found: #{e.to_s}")
rescue StandardError => e