aboutsummaryrefslogtreecommitdiffstats
path: root/api/graphql/resolvers/root.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2020-06-21 22:12:04 +0200
committerMichael Muré <batolettre@gmail.com>2020-06-27 23:03:05 +0200
commit2ab6381a94d55fa22b80acdbb18849d6b24951f9 (patch)
tree99942b000955623ea7466b9fa4cc7dab37645df6 /api/graphql/resolvers/root.go
parent5f72b04ef8e84b1c367ca6874519706318e351f5 (diff)
downloadgit-bug-2ab6381a94d55fa22b80acdbb18849d6b24951f9.tar.gz
Reorganize the webUI and API code
Included in the changes: - create a new /api root package to hold all API code, migrate /graphql in there - git API handlers all use the cache instead of the repo directly - git API handlers are now tested - git API handlers now require a "repo" mux parameter - lots of untangling of API/handlers/middleware - less code in commands/webui.go
Diffstat (limited to 'api/graphql/resolvers/root.go')
-rw-r--r--api/graphql/resolvers/root.go107
1 files changed, 107 insertions, 0 deletions
diff --git a/api/graphql/resolvers/root.go b/api/graphql/resolvers/root.go
new file mode 100644
index 00000000..bb3bf5cf
--- /dev/null
+++ b/api/graphql/resolvers/root.go
@@ -0,0 +1,107 @@
+// Package resolvers contains the various GraphQL resolvers
+package resolvers
+
+import (
+ "github.com/MichaelMure/git-bug/api/graphql/graph"
+ "github.com/MichaelMure/git-bug/cache"
+)
+
+var _ graph.ResolverRoot = &RootResolver{}
+
+type RootResolver struct {
+ *cache.MultiRepoCache
+}
+
+func NewRootResolver(mrc *cache.MultiRepoCache) *RootResolver {
+ return &RootResolver{
+ MultiRepoCache: mrc,
+ }
+}
+
+func (r RootResolver) Query() graph.QueryResolver {
+ return &rootQueryResolver{
+ cache: r.MultiRepoCache,
+ }
+}
+
+func (r RootResolver) Mutation() graph.MutationResolver {
+ return &mutationResolver{
+ cache: r.MultiRepoCache,
+ }
+}
+
+func (RootResolver) Repository() graph.RepositoryResolver {
+ return &repoResolver{}
+}
+
+func (RootResolver) Bug() graph.BugResolver {
+ return &bugResolver{}
+}
+
+func (RootResolver) Color() graph.ColorResolver {
+ return &colorResolver{}
+}
+
+func (r RootResolver) Comment() graph.CommentResolver {
+ return &commentResolver{}
+}
+
+func (RootResolver) Label() graph.LabelResolver {
+ return &labelResolver{}
+}
+
+func (r RootResolver) Identity() graph.IdentityResolver {
+ return &identityResolver{}
+}
+
+func (RootResolver) CommentHistoryStep() graph.CommentHistoryStepResolver {
+ return &commentHistoryStepResolver{}
+}
+
+func (RootResolver) AddCommentTimelineItem() graph.AddCommentTimelineItemResolver {
+ return &addCommentTimelineItemResolver{}
+}
+
+func (RootResolver) CreateTimelineItem() graph.CreateTimelineItemResolver {
+ return &createTimelineItemResolver{}
+}
+
+func (r RootResolver) LabelChangeTimelineItem() graph.LabelChangeTimelineItemResolver {
+ return &labelChangeTimelineItem{}
+}
+
+func (r RootResolver) SetStatusTimelineItem() graph.SetStatusTimelineItemResolver {
+ return &setStatusTimelineItem{}
+}
+
+func (r RootResolver) SetTitleTimelineItem() graph.SetTitleTimelineItemResolver {
+ return &setTitleTimelineItem{}
+}
+
+func (RootResolver) CreateOperation() graph.CreateOperationResolver {
+ return &createOperationResolver{}
+}
+
+func (RootResolver) AddCommentOperation() graph.AddCommentOperationResolver {
+ return &addCommentOperationResolver{}
+}
+
+func (r RootResolver) EditCommentOperation() graph.EditCommentOperationResolver {
+ return &editCommentOperationResolver{}
+}
+
+func (RootResolver) LabelChangeOperation() graph.LabelChangeOperationResolver {
+ return &labelChangeOperationResolver{}
+}
+
+func (RootResolver) SetStatusOperation() graph.SetStatusOperationResolver {
+ return &setStatusOperationResolver{}
+}
+
+func (RootResolver) SetTitleOperation() graph.SetTitleOperationResolver {
+ return &setTitleOperationResolver{}
+}
+
+func (r RootResolver) LabelChangeResult() graph.LabelChangeResultResolver {
+ return &labelChangeResultResolver{}
+}