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() { dotenv.MustLoad() if err := env.Load(&config); err != nil { panic(err) } } func main() { gonsoleHandler := gonsole.New(os.Stdout, slog.LevelDebug) slogHandler := slog.New(gonsoleHandler) slog.SetDefault(slogHandler) 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, slogHandler) server.Start(config.Port) }