diff --git a/data.go b/data.go index 736c99a..c1a19c2 100644 --- a/data.go +++ b/data.go @@ -6,14 +6,13 @@ import ( _ "github.com/lib/pq" ) -//TODO: move into separate config file? -const ( - DBHost = "127.0.0.1" - DBPort = 5432 - DBUser = "username" - DBPass = "password" - DBName = "database" -) +type databaseConfig struct { + Host string + Port int + User string + Pass string + Name string +} type userData struct { nameserver string @@ -23,9 +22,10 @@ type userData struct { } func prepareDatabase() (*sql.DB, error) { + dbconf := config.Database psqlInfo := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s " + - "sslmode=disable", DBHost, DBPort, DBUser, DBPass, - DBName) + "sslmode=disable", dbconf.Host, dbconf.Port, + dbconf.User, dbconf.Pass, dbconf.Name) db, err := sql.Open("postgres", psqlInfo) if err != nil { return nil, err diff --git a/main.go b/main.go index 28b8df8..92ffea4 100644 --- a/main.go +++ b/main.go @@ -2,9 +2,21 @@ package main import ( "net/http" + "github.com/BurntSushi/toml" ) +type tomlConfig struct { + Database databaseConfig +} + +var config tomlConfig + func main() { + _, err := toml.DecodeFile("config.toml", &config) + if err != nil { + panic(err) + } + db, err := prepareDatabase() if err != nil { panic(err)