dbots/main.go
2026-04-17 22:25:23 +02:00

47 lines
902 B
Go

package main
import (
"context"
"log/slog"
"os"
"codeberg.org/nextgo/dbots/internal/db"
"codeberg.org/nextgo/dbots/internal/server"
"codeberg.org/ungo/env"
"codeberg.org/ungo/env/dotenv"
"codeberg.org/ungo/gonsole"
"github.com/jackc/pgx/v5/pgxpool"
)
type Config struct {
DatabaseURL string `env:"DATABASE_URL,required"`
Port int `env:"PORT,default=8080"`
}
var config Config
func init() {
gonsoleHandler := gonsole.New(os.Stdout, slog.LevelDebug)
slogHandler := slog.New(gonsoleHandler)
slog.SetDefault(slogHandler)
dotenv.MustLoad()
if err := env.Load(&config); err != nil {
panic(err)
}
}
func main() {
ctx := context.Background()
conn, err := pgxpool.New(ctx, config.DatabaseURL)
if err != nil {
slog.Error("error connecting to postgres", "err", err)
return
}
queries := db.New(conn)
server := server.NewServer(queries)
server.Start(config.Port)
}