Move domain removal into the plugins.
[mailshears.git] / lib / rm / plugins / dovecot_mailstore.rb
index 8ab507d674c3c77739d854ad9d95439b702531ee..72c80c83537559bef358868dc9fc57c0dc905890 100644 (file)
@@ -1,12 +1,10 @@
 # Needed for rm_r.
 require 'fileutils'
 
-require 'common/filesystem'
-require 'common/mailstore'
 require 'common/dovecot_mailstore_plugin'
 require 'rm/rm_plugin'
 
-class DovecotMailstoreRm < Mailstore
+class DovecotMailstoreRm
 
   include DovecotMailstorePlugin
   include RmPlugin
@@ -22,54 +20,4 @@ class DovecotMailstoreRm < Mailstore
     FileUtils.rm_r(account_path)
   end
 
-  def get_leftover_domains(db_domains)
-    # Get the list of domains according to the filesystem.
-    fs_domains = self.get_domains_from_filesystem()
-
-    # Return the list of domains on the filesystem that aren't in the DB.
-    return (fs_domains - db_domains)
-  end
-
-  def get_leftover_accounts(db_accounts)
-    # Get the list of accounts according to the filesystem.
-    fs_domains = self.get_domains_from_filesystem()
-    fs_accounts = self.get_accounts_from_filesystem(fs_domains)
-
-    # And return the accounts on the filesystem that aren't in the DB.
-    return (fs_accounts - db_accounts)
-  end
-
-
-  def get_domain_usernames(domain)
-    return get_accounts_from_filesystem([domain])
-  end
-
-  protected;
-
-  def get_domains_from_filesystem()
-    return Filesystem.get_subdirs(@domain_root)
-  end
-
-  def get_accounts_from_filesystem(domains)
-    accounts = []
-
-    domains.each do |domain|
-      begin
-        # Throws a NonexistentDomainError if the domain's path
-        # doesn't exist on the filesystem. In this case, we want
-        # to report zero accounts.
-        domain_path = get_domain_path(domain)
-        usernames = Filesystem.get_subdirs(domain_path)
-
-        usernames.each do |username|
-          accounts << "#{username}@#{domain}"
-        end
-      rescue NonexistentDomainError
-        # Party hard.
-      end
-    end
-
-    return accounts
-  end
-
 end