X-Git-Url: http://gitweb.michael.orlitzky.com/?p=mailshears.git;a=blobdiff_plain;f=lib%2Fcommon%2Fpostfixadmin_plugin.rb;h=b984f6cf66a5b2e5d66155124577f8c6a2c6eaef;hp=97d59f267214060a7b9824d47338727e29b58b24;hb=342327326fc5203b34435a7291f5528f214c1717;hpb=a7905056b29b9e7b99bfb35b4b89bf0e56275597 diff --git a/lib/common/postfixadmin_plugin.rb b/lib/common/postfixadmin_plugin.rb index 97d59f2..b984f6c 100644 --- a/lib/common/postfixadmin_plugin.rb +++ b/lib/common/postfixadmin_plugin.rb @@ -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