package main import ( "context" "fmt" "log" "net/http" "os" "git.huntm.net/wedding/server/admin" "git.huntm.net/wedding/server/guest" "git.huntm.net/wedding/server/middleware" "github.com/jackc/pgx/v5/pgxpool" ) var ( user = "postgres" password = os.Getenv("PASS") host = "host.containers.internal" port = "5432" database = "wedding" ) func main() { databasePool, err := pgxpool.New(context.Background(), fmt.Sprintf("postgres://%s:%s@%s:%s/%s", user, password, host, port, database)) if err != nil { log.Fatal(err) } defer databasePool.Close() guestStore := guest.NewStore(databasePool) guestHandler := guest.NewGuestHandler(guestStore) adminStore := admin.NewStore(databasePool) adminHandler := admin.NewAdminHandler(adminStore, guestStore) mux := http.NewServeMux() mux.Handle("/api/guests/", guestHandler) mux.Handle("/api/admin/", adminHandler) log.Fatal(http.ListenAndServe(":8080", middleware.Log(middleware.CORS(mux)))) }