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
16func NewRootResolver(mrc *cache.MultiRepoCache) *RootResolver {
17 return &RootResolver{
18 MultiRepoCache: mrc,
19 }
20}
21
22func (r RootResolver) Query() graph.QueryResolver {
23 return &rootQueryResolver{
24 cache: r.MultiRepoCache,
25 }
26}
27
28func (r RootResolver) Mutation() graph.MutationResolver {
29 return &mutationResolver{
30 cache: r.MultiRepoCache,
31 }
32}
33
34func (r RootResolver) Subscription() graph.SubscriptionResolver {
35 return &subscriptionResolver{
36 cache: r.MultiRepoCache,
37 }
38}
39
40func (RootResolver) Color() graph.ColorResolver {
41 return &colorResolver{}
42}
43
44func (r RootResolver) Identity() graph.IdentityResolver {
45 return &identityResolver{}
46}
47
48func (RootResolver) Label() graph.LabelResolver {
49 return &labelResolver{}
50}
51
52func (RootResolver) Repository() graph.RepositoryResolver {
53 return &repoResolver{}
54}
55
56func (RootResolver) Bug() graph.BugResolver {
57 return &bugResolver{}
58}