init
This commit is contained in:
46
database/db.go
Normal file
46
database/db.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"github.com/joho/godotenv"
|
||||
_ "github.com/lib/pq"
|
||||
"log"
|
||||
"os"
|
||||
)
|
||||
|
||||
func InitDatabase() (*sql.DB, error) {
|
||||
err := godotenv.Load(".env")
|
||||
if err != nil {
|
||||
log.Fatal("Error loading .env file")
|
||||
}
|
||||
password := os.Getenv("PG_PASSWORD")
|
||||
host := os.Getenv("PG_HOST")
|
||||
connStr := fmt.Sprintf("user=postgres host=%s dbname=relay password=%s sslmode=disable", host, password)
|
||||
db, err := sql.Open("postgres", connStr)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
return db, nil
|
||||
|
||||
}
|
||||
|
||||
func GetUsers(db *sql.DB) ([]string, error) {
|
||||
query := `SELECT username FROM accounts;`
|
||||
|
||||
rows, err := db.Query(query)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
var users []string
|
||||
for rows.Next() {
|
||||
var user string
|
||||
if err := rows.Scan(&user); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
users = append(users, user)
|
||||
}
|
||||
return users, err
|
||||
}
|
||||
Reference in New Issue
Block a user