Explicitly require 'common/errors' in RmRunner.
[mailshears.git] / lib / rm / rm_runner.rb
index 0392d1192acbac86218c0813218e37b5b5c56929..71421547e7e88e02247070680dce940f890c30f2 100644 (file)
@@ -1,3 +1,4 @@
+require 'common/errors'
 require 'common/runner'
 
 class RmRunner
@@ -5,35 +6,28 @@ 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