From 38adb391be404c952db6a48954a50f94a59f2419 Mon Sep 17 00:00:00 2001 From: riwiwa Date: Mon, 9 Feb 2026 04:15:11 -0800 Subject: [PATCH] clean up main.go --- db/db.go | 11 ++++++++++- main.go | 59 +++++++++----------------------------------------------- 2 files changed, 19 insertions(+), 51 deletions(-) diff --git a/db/db.go b/db/db.go index e658bf4..89f8743 100644 --- a/db/db.go +++ b/db/db.go @@ -21,9 +21,18 @@ func CreateAllTables() error { return CreateSessionsTable() } +func GetDbUrl() string { + host := os.Getenv("PGHOST") + port := os.Getenv("PGPORT") + user := os.Getenv("PGUSER") + pass := os.Getenv("PGPASSWORD") + + return fmt.Sprintf("postgres://%s:%s@%s:%s", user, pass, host, port) +} + func CreateDB() error { conn, err := pgx.Connect(context.Background(), - "postgres://postgres:postgres@localhost:5432", + GetDbUrl(), ) if err != nil { fmt.Fprintf(os.Stderr, "Cannot connect to PostgreSQL: %v\n", err) diff --git a/main.go b/main.go index 9497a33..ee0c35d 100644 --- a/main.go +++ b/main.go @@ -2,10 +2,8 @@ package main import ( "context" - "errors" "fmt" "os" - "path/filepath" "muzi/db" "muzi/web" @@ -13,64 +11,25 @@ import ( "github.com/jackc/pgx/v5/pgxpool" ) -func dirCheck(path string) error { - _, err := os.Stat(path) +func check(msg string, err error) { if err != nil { - if errors.Is(err, os.ErrNotExist) { - os.MkdirAll(path, os.ModePerm) - } else { - fmt.Fprintf(os.Stderr, "Error checking dir: %s: %v\n", path, err) - return err - } + fmt.Fprintf(os.Stderr, "Error %s: %v\n", msg, err) + os.Exit(1) } - return nil } func main() { - zipDir := filepath.Join(".", "imports", "spotify", "zip") - extDir := filepath.Join(".", "imports", "spotify", "extracted") - - dirs := []string{zipDir, extDir} - for _, dir := range dirs { - err := dirCheck(dir) - if err != nil { - fmt.Fprintf(os.Stderr, "Error checking dir: %s: %v\n", dir, err) - return - } - } - err := db.CreateDB() - if err != nil { - fmt.Fprintf(os.Stderr, "Error ensuring muzi DB exists: %v\n", err) - return - } + check("ensuring muzi DB exists", db.CreateDB()) + var err error db.Pool, err = pgxpool.New( context.Background(), - "postgres://postgres:postgres@localhost:5432/muzi", + fmt.Sprintf(db.GetDbUrl(), "/muzi"), ) - if err != nil { - fmt.Fprintf(os.Stderr, "Cannot connect to muzi database: %v\n", err) - return - } + check("connecting to muzi database", err) defer db.Pool.Close() - err = db.CreateAllTables() - if err != nil { - fmt.Fprintf(os.Stderr, "Error ensuring all tables exist: %v\n", err) - return - } - - err = db.CleanupExpiredSessions() - if err != nil { - fmt.Fprintf(os.Stderr, "Error cleaning expired sessions: %v\n", err) - return - } - - /* - err = migrate.ImportSpotify(1) - if err != nil { - return - } - */ + check("ensuring all tables exist", db.CreateAllTables()) + check("cleaning expired sessions", db.CleanupExpiredSessions()) web.Start() }