skyrama_tui/cmd/admin/main.go

38 lines
788 B
Go
Raw Normal View History

2026-06-04 20:51:20 +03:00
package main
import (
"flag"
"fmt"
"log"
"os"
tea "github.com/charmbracelet/bubbletea"
"skyrama-tui/internal/adminui"
"skyrama-tui/internal/db"
)
func main() {
dsn := flag.String("dsn", "",
"MySQL DSN. Overrides SKYRAMA_DSN env var.\n"+
" Format: user:pass@tcp(host:port)/dbname?parseTime=true")
flag.Parse()
if *dsn == "" {
*dsn = os.Getenv("SKYRAMA_DSN")
}
if *dsn == "" {
*dsn = "skyramaUser:Skyrama1234.@tcp(127.0.0.1:3306)/skyrama_clone?parseTime=true"
}
client, err := db.NewAdminClient(*dsn)
if err != nil {
fmt.Fprintf(os.Stderr, "cannot connect to database: %v\n", err)
os.Exit(1)
}
defer client.Close()
p := tea.NewProgram(adminui.NewApp(client), tea.WithAltScreen())
if _, err := p.Run(); err != nil {
log.Fatalf("fatal: %v", err)
}
}