package main import ( "context" "log" "net/http" "os" "gitea.starryskymeow.cn/B309/datamarket/internal/repository" "gitea.starryskymeow.cn/B309/datamarket/internal/router" "gitea.starryskymeow.cn/B309/datamarket/internal/service" "github.com/jackc/pgx/v5/pgxpool" ) func main() { // db connect ctx := context.Background() pool, err := pgxpool.New(ctx, os.Getenv("DATABASE_URL")) if err != nil { log.Fatal(err) } defer pool.Close() if err := pool.Ping(ctx); err != nil { log.Fatal(err) } queries := repository.New(pool) appService := service.New(queries) r := router.New(appService) addr := os.Getenv("SERVER_ADDR") if addr == "" { addr = ":8080" } err = http.ListenAndServe(addr, r) if err != nil { log.Fatal(err) } }