]> gitweb.michael.orlitzky.com - mailshears.git/blobdiff - lib/common/postfixadmin_plugin.rb
Add some new fixtures in preparation for prune tests.
[mailshears.git] / lib / common / postfixadmin_plugin.rb
index 97d59f267214060a7b9824d47338727e29b58b24..b984f6cf66a5b2e5d66155124577f8c6a2c6eaef 100644 (file)
@@ -1,4 +1,6 @@
+require 'common/domain'
 require 'common/plugin'
+require 'common/user'
 require 'pg'
 
 module PostfixadminPlugin
@@ -17,18 +19,6 @@ module PostfixadminPlugin
   end
 
 
-  def describe_user(user)
-    # There's no other unique identifier in PostfixAdmin
-    return user
-  end
-
-
-  def describe_domain(domain)
-    # There's no other unique identifier in PostfixAdmin
-    return domain
-  end
-
-
   def list_domains()
     domains = []
 
@@ -53,18 +43,10 @@ module PostfixadminPlugin
       raise DatabaseError.new(e)
     end
 
-    return domains
+    return domains.map{ |d| Domain.new(d) }
   end
 
 
-  def domain_exists(domain)
-    # Does the given domain exist in Postfixadmin? We use a naive
-    # implementation here based on list_domains(). This isn't in our
-    # superclass because not all plugins have a concept of domains.
-    domains = list_domains()
-    return domains.include?(domain)
-  end
-
 
   def list_users()
     users = []
@@ -89,7 +71,7 @@ module PostfixadminPlugin
       raise DatabaseError.new(e)
     end
 
-    return users
+    return users.map{ |u| User.new(u) }
   end
 
 
@@ -108,7 +90,7 @@ module PostfixadminPlugin
 
       sql_query  = 'SELECT username FROM mailbox WHERE domain IN $1;'
 
-      connection.query(sql_query, [domains]) do |result|
+      connection.query(sql_query, domains.map{|d| d.to_s()}) do |result|
         usernames = result.field_values('username')
       end
 
@@ -118,7 +100,7 @@ module PostfixadminPlugin
       raise DatabaseError.new(e)
     end
 
-    return usernames
+    return usernames.map{ |u| User.new(u) }
   end