mirror of
https://github.com/tavo-wasd-gh/conex-builder.git
synced 2025-06-07 12:13:30 -06:00
58 lines
1.2 KiB
Go
58 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"database/sql"
|
|
"log"
|
|
"os"
|
|
|
|
"github.com/joho/godotenv"
|
|
_ "github.com/lib/pq"
|
|
)
|
|
|
|
const (
|
|
msgClosingDBConn = "Msg: init.go: Closing database connection"
|
|
msgDBConn = "Msg: init.go: Established database connection"
|
|
errDBConn = "Fatal: init.go: Connect to database"
|
|
errDBPing = "Fatal: init.go: Ping database"
|
|
errClosingDBConn = "Fatal: init.go: Closing database connection"
|
|
)
|
|
|
|
var db *sql.DB
|
|
|
|
func initialize() {
|
|
godotenv.Load()
|
|
|
|
if os.Getenv("BASE_URL") == "" ||
|
|
os.Getenv("CLIENT_ID") == "" ||
|
|
os.Getenv("CLIENT_SECRET") == "" ||
|
|
os.Getenv("RETURN_URL") == "" ||
|
|
os.Getenv("CANCEL_URL") == "" ||
|
|
os.Getenv("PORT") == "" {
|
|
log.Fatalf("Error 000: Missing credentials")
|
|
}
|
|
|
|
var err error
|
|
db, err = sql.Open("postgres", "host="+os.Getenv("DB_HOST")+
|
|
" port="+os.Getenv("DB_PORT")+
|
|
" user="+os.Getenv("DB_USER")+
|
|
" password="+os.Getenv("DB_PASS")+
|
|
" dbname="+os.Getenv("DB_NAME"))
|
|
if err != nil {
|
|
log.Fatalf("%s: %v", errDBConn, err)
|
|
}
|
|
|
|
if err := db.Ping(); err != nil {
|
|
log.Fatalf("%s: %v", errDBPing, err)
|
|
}
|
|
|
|
log.Println(msgDBConn)
|
|
}
|
|
|
|
func shutdown() {
|
|
if db != nil {
|
|
log.Println(msgClosingDBConn)
|
|
if err := db.Close(); err != nil {
|
|
log.Fatalf("%s: %v", errClosingDBConn, err)
|
|
}
|
|
}
|
|
}
|