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}