root.go

 1// Package resolvers contains the various GraphQL resolvers
 2package resolvers
 3
 4import (
 5	"github.com/git-bug/git-bug/api/graphql/graph"
 6	"github.com/git-bug/git-bug/cache"
 7)
 8
 9var _ graph.ResolverRoot = &RootResolver{}
10
11type RootResolver struct {
12	*cache.MultiRepoCache
13	bugRootSubResolver
14
15	authMode       string
16	loginProviders []string
17}
18
19func NewRootResolver(mrc *cache.MultiRepoCache, authMode string, loginProviders []string) *RootResolver {
20	return &RootResolver{
21		MultiRepoCache: mrc,
22		authMode:       authMode,
23		loginProviders: loginProviders,
24	}
25}
26
27func (r RootResolver) Query() graph.QueryResolver {
28	return &rootQueryResolver{
29		cache:          r.MultiRepoCache,
30		authMode:       r.authMode,
31		loginProviders: r.loginProviders,
32	}
33}
34
35func (r RootResolver) Mutation() graph.MutationResolver {
36	return &mutationResolver{
37		cache: r.MultiRepoCache,
38	}
39}
40
41func (r RootResolver) Subscription() graph.SubscriptionResolver {
42	return &subscriptionResolver{
43		cache: r.MultiRepoCache,
44	}
45}
46
47func (RootResolver) Color() graph.ColorResolver {
48	return &colorResolver{}
49}
50
51func (r RootResolver) Identity() graph.IdentityResolver {
52	return &identityResolver{}
53}
54
55func (RootResolver) Label() graph.LabelResolver {
56	return &labelResolver{}
57}
58
59func (RootResolver) Repository() graph.RepositoryResolver {
60	return &repoResolver{}
61}
62
63func (RootResolver) Bug() graph.BugResolver {
64	return &bugResolver{}
65}