mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-15 18:23:08 +03:00
33 lines
711 B
Go
33 lines
711 B
Go
|
//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,
|
||
|
}
|
||
|
}
|