summaryrefslogtreecommitdiffstatshomepage
path: root/api/graphql/resolvers/bug_operations.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2024-08-28 11:43:42 +0200
committerGitHub <noreply@github.com>2024-08-28 09:43:42 +0000
commit57e7147021e38b847213d4dc7f0e0bf0b022850d (patch)
tree882650697950003e2325f0815353032a8596ca1d /api/graphql/resolvers/bug_operations.go
parente45c3c5ee6dc5650fd8c3f480d9e09e5f3b221fd (diff)
downloadgit-bug-57e7147021e38b847213d4dc7f0e0bf0b022850d.tar.gz
git-bug-57e7147021e38b847213d4dc7f0e0bf0b022850d.zip
graphql: properly namespace Bug to make space for other entities (#1254)
Also: use gqlgen directives to help the type auto-binding Missing: - namespace mutations - adapt the webUI queries
Diffstat (limited to 'api/graphql/resolvers/bug_operations.go')
-rw-r--r--api/graphql/resolvers/bug_operations.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/api/graphql/resolvers/bug_operations.go b/api/graphql/resolvers/bug_operations.go
new file mode 100644
index 00000000..cf9d9056
--- /dev/null
+++ b/api/graphql/resolvers/bug_operations.go
@@ -0,0 +1,61 @@
+package resolvers
+
+import (
+ "context"
+
+ "github.com/git-bug/git-bug/api/graphql/graph"
+ "github.com/git-bug/git-bug/api/graphql/models"
+ "github.com/git-bug/git-bug/entities/bug"
+)
+
+var _ graph.BugCreateOperationResolver = bugCreateOperationResolver{}
+
+type bugCreateOperationResolver struct{}
+
+func (bugCreateOperationResolver) Author(_ context.Context, obj *bug.CreateOperation) (models.IdentityWrapper, error) {
+ return models.NewLoadedIdentity(obj.Author()), nil
+}
+
+var _ graph.BugAddCommentOperationResolver = bugAddCommentOperationResolver{}
+
+type bugAddCommentOperationResolver struct{}
+
+func (bugAddCommentOperationResolver) Author(_ context.Context, obj *bug.AddCommentOperation) (models.IdentityWrapper, error) {
+ return models.NewLoadedIdentity(obj.Author()), nil
+}
+
+var _ graph.BugEditCommentOperationResolver = bugEditCommentOperationResolver{}
+
+type bugEditCommentOperationResolver struct{}
+
+func (bugEditCommentOperationResolver) Target(_ context.Context, obj *bug.EditCommentOperation) (string, error) {
+ return obj.Target.String(), nil
+}
+
+func (bugEditCommentOperationResolver) Author(_ context.Context, obj *bug.EditCommentOperation) (models.IdentityWrapper, error) {
+ return models.NewLoadedIdentity(obj.Author()), nil
+}
+
+var _ graph.BugLabelChangeOperationResolver = bugLabelChangeOperationResolver{}
+
+type bugLabelChangeOperationResolver struct{}
+
+func (bugLabelChangeOperationResolver) Author(_ context.Context, obj *bug.LabelChangeOperation) (models.IdentityWrapper, error) {
+ return models.NewLoadedIdentity(obj.Author()), nil
+}
+
+var _ graph.BugSetStatusOperationResolver = bugSetStatusOperationResolver{}
+
+type bugSetStatusOperationResolver struct{}
+
+func (bugSetStatusOperationResolver) Author(_ context.Context, obj *bug.SetStatusOperation) (models.IdentityWrapper, error) {
+ return models.NewLoadedIdentity(obj.Author()), nil
+}
+
+var _ graph.BugSetTitleOperationResolver = bugSetTitleOperationResolver{}
+
+type bugSetTitleOperationResolver struct{}
+
+func (bugSetTitleOperationResolver) Author(_ context.Context, obj *bug.SetTitleOperation) (models.IdentityWrapper, error) {
+ return models.NewLoadedIdentity(obj.Author()), nil
+}