+require 'common/domain'
require 'common/plugin'
+require 'common/user'
require 'pg'
module PostfixadminPlugin
def describe_user(user)
# There's no other unique identifier in PostfixAdmin
- return user
+ return user.to_s()
end
def describe_domain(domain)
# There's no other unique identifier in PostfixAdmin
- return domain
+ return domain.to_s()
end
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
raise DatabaseError.new(e)
end
- return users
+ return users.map{ |u| User.new(u) }
end
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
raise DatabaseError.new(e)
end
- return usernames
+ return usernames.map{ |u| User.new(u) }
end