aboutsummaryrefslogtreecommitdiffstats
path: root/api/graphql/handler.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2020-06-27 23:09:22 +0200
committerGitHub <noreply@github.com>2020-06-27 23:09:22 +0200
commitc0dbc149d5c0c3610476ba14a800c9ba803a2c2c (patch)
treec07587da30eae7a37c2597d110ef1e66be3b4b8f /api/graphql/handler.go
parent23228101a2a38a139f6fc2cafc18e9f08d911089 (diff)
parent3aaf775857d186ad416133935e73ed1b063938c6 (diff)
downloadgit-bug-c0dbc149d5c0c3610476ba14a800c9ba803a2c2c.tar.gz
Merge pull request #407 from lukegb/fix-402
Add support for read-only mode for web UI.
Diffstat (limited to 'api/graphql/handler.go')
-rw-r--r--api/graphql/handler.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/api/graphql/handler.go b/api/graphql/handler.go
new file mode 100644
index 00000000..03dc32e9
--- /dev/null
+++ b/api/graphql/handler.go
@@ -0,0 +1,32 @@
+//go:generate go run gen_graphql.go
+
+// Package graphql contains the root GraphQL http handler
+package graphql
+
+import (
+ "io"
+ "net/http"
+
+ "github.com/99designs/gqlgen/graphql/handler"
+
+ "github.com/MichaelMure/git-bug/api/graphql/graph"
+ "github.com/MichaelMure/git-bug/api/graphql/resolvers"
+ "github.com/MichaelMure/git-bug/cache"
+)
+
+// Handler is the root GraphQL http handler
+type Handler struct {
+ http.Handler
+ io.Closer
+}
+
+func NewHandler(mrc *cache.MultiRepoCache) Handler {
+ rootResolver := resolvers.NewRootResolver(mrc)
+ config := graph.Config{Resolvers: rootResolver}
+ h := handler.NewDefaultServer(graph.NewExecutableSchema(config))
+
+ return Handler{
+ Handler: h,
+ Closer: rootResolver,
+ }
+}