package main import ( "context" "net/http" "github.com/go-chi/chi/v5" "gitlab.com/zephyrtronium/sq" "git.sunturtle.xyz/studio/shotgun/lobby" "git.sunturtle.xyz/studio/shotgun/player" "git.sunturtle.xyz/studio/shotgun/serve" _ "modernc.org/sqlite" ) func main() { sessiondb, err := sq.Open("sqlite", ":memory:") if err != nil { panic(err) } sessions, err := sessiondb.Conn(context.Background()) if err != nil { panic(err) } if err := player.InitSessions(context.Background(), sessions); err != nil { panic(err) } if err := player.InitUsers(context.Background(), sessions); err != nil { panic(err) } s := Server{ l: lobby.New(), creds: sessions, sessions: sessions, } r := chi.NewRouter() r.Post("/user/register", s.Register) r.Post("/user/login", s.Login) r.With(serve.WithSession(sessions)).Get("/user/me", s.Me) r.With(serve.WithSession(sessions)).Get("/queue", s.Queue) http.ListenAndServe(":8080", r) }