Added the get_domains_from_db() function to the PostfixadminDb class.
authorMichael Orlitzky <michael@orlitzky.com>
Sun, 13 Jun 2010 15:39:19 +0000 (11:39 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sun, 13 Jun 2010 15:39:19 +0000 (11:39 -0400)
src/postfixadmin_db.rb

index 5291a53987587b0ee1da11ccee4e33c835191885..f4e6feb5c999119535afff82f16ec9d9b83b51cb 100644 (file)
@@ -20,6 +20,32 @@ class PostfixadminDb
   end
 
 
+  def get_domains_from_db()
+    # Just assume PostgreSQL for now.
+    begin
+      connection = PGconn.connect(@db_host,
+                                  @db_port,
+                                  @db_opts,
+                                  @db_tty,
+                                  @db_name,
+                                  @db_user,
+                                  @db_pass)
+
+      sql_query = 'SELECT domain FROM domain;'
+      result = connection.query(sql_query)
+      connection.close()
+    rescue PGError => e
+      # But pretend like we're database-agnostic in case we ever are.
+      raise DatabaseError.new(e)
+    end
+
+    # The database query returns an array of rows. Since we only asked
+    # for one column (domain), we can flatten the result into an
+    # array of domains.
+    return result.flatten
+  end
+
+
   def get_accounts_from_db()
     # Just assume PostgreSQL for now.
     begin
@@ -46,5 +72,5 @@ class PostfixadminDb
     # array of addresses.
     return result.flatten
   end
-  
+
 end