root.go

  1// Package resolvers contains the various GraphQL resolvers
  2package resolvers
  3
  4import (
  5	"github.com/MichaelMure/git-bug/cache"
  6	"github.com/MichaelMure/git-bug/graphql/config"
  7	"github.com/MichaelMure/git-bug/graphql/graph"
  8)
  9
 10var _ graph.ResolverRoot = &RootResolver{}
 11
 12type RootResolver struct {
 13	cache.MultiRepoCache
 14	cfg config.Config
 15}
 16
 17func NewRootResolver(cfg config.Config) *RootResolver {
 18	return &RootResolver{
 19		MultiRepoCache: cache.NewMultiRepoCache(),
 20		cfg:            cfg,
 21	}
 22}
 23
 24func (r RootResolver) Query() graph.QueryResolver {
 25	return &rootQueryResolver{
 26		cache: &r.MultiRepoCache,
 27	}
 28}
 29
 30func (r RootResolver) Mutation() graph.MutationResolver {
 31	if r.cfg.ReadOnly {
 32		return &readonlyMutationResolver{}
 33	}
 34	return &mutationResolver{
 35		cache: &r.MultiRepoCache,
 36	}
 37}
 38
 39func (r RootResolver) Repository() graph.RepositoryResolver {
 40	return &repoResolver{r.cfg}
 41}
 42
 43func (RootResolver) Bug() graph.BugResolver {
 44	return &bugResolver{}
 45}
 46
 47func (RootResolver) Color() graph.ColorResolver {
 48	return &colorResolver{}
 49}
 50
 51func (r RootResolver) Comment() graph.CommentResolver {
 52	return &commentResolver{}
 53}
 54
 55func (RootResolver) Label() graph.LabelResolver {
 56	return &labelResolver{}
 57}
 58
 59func (RootResolver) Identity() graph.IdentityResolver {
 60	return &identityResolver{}
 61}
 62
 63func (RootResolver) CommentHistoryStep() graph.CommentHistoryStepResolver {
 64	return &commentHistoryStepResolver{}
 65}
 66
 67func (RootResolver) AddCommentTimelineItem() graph.AddCommentTimelineItemResolver {
 68	return &addCommentTimelineItemResolver{}
 69}
 70
 71func (RootResolver) CreateTimelineItem() graph.CreateTimelineItemResolver {
 72	return &createTimelineItemResolver{}
 73}
 74
 75func (r RootResolver) LabelChangeTimelineItem() graph.LabelChangeTimelineItemResolver {
 76	return &labelChangeTimelineItem{}
 77}
 78
 79func (r RootResolver) SetStatusTimelineItem() graph.SetStatusTimelineItemResolver {
 80	return &setStatusTimelineItem{}
 81}
 82
 83func (r RootResolver) SetTitleTimelineItem() graph.SetTitleTimelineItemResolver {
 84	return &setTitleTimelineItem{}
 85}
 86
 87func (RootResolver) CreateOperation() graph.CreateOperationResolver {
 88	return &createOperationResolver{}
 89}
 90
 91func (RootResolver) AddCommentOperation() graph.AddCommentOperationResolver {
 92	return &addCommentOperationResolver{}
 93}
 94
 95func (r RootResolver) EditCommentOperation() graph.EditCommentOperationResolver {
 96	return &editCommentOperationResolver{}
 97}
 98
 99func (RootResolver) LabelChangeOperation() graph.LabelChangeOperationResolver {
100	return &labelChangeOperationResolver{}
101}
102
103func (RootResolver) SetStatusOperation() graph.SetStatusOperationResolver {
104	return &setStatusOperationResolver{}
105}
106
107func (RootResolver) SetTitleOperation() graph.SetTitleOperationResolver {
108	return &setTitleOperationResolver{}
109}
110
111func (r RootResolver) LabelChangeResult() graph.LabelChangeResultResolver {
112	return &labelChangeResultResolver{}
113}