aboutsummaryrefslogtreecommitdiffstats
path: root/graphql/resolvers
diff options
context:
space:
mode:
Diffstat (limited to 'graphql/resolvers')
-rw-r--r--graphql/resolvers/color.go24
-rw-r--r--graphql/resolvers/label.go22
-rw-r--r--graphql/resolvers/root.go8
3 files changed, 54 insertions, 0 deletions
diff --git a/graphql/resolvers/color.go b/graphql/resolvers/color.go
new file mode 100644
index 00000000..dc6f1b9c
--- /dev/null
+++ b/graphql/resolvers/color.go
@@ -0,0 +1,24 @@
+package resolvers
+
+import (
+ "context"
+ "image/color"
+
+ "github.com/MichaelMure/git-bug/graphql/graph"
+)
+
+var _ graph.ColorResolver = &colorResolver{}
+
+type colorResolver struct{}
+
+func (colorResolver) R(ctx context.Context, obj *color.RGBA) (int, error) {
+ return int(obj.R), nil
+}
+
+func (colorResolver) G(ctx context.Context, obj *color.RGBA) (int, error) {
+ return int(obj.G), nil
+}
+
+func (colorResolver) B(ctx context.Context, obj *color.RGBA) (int, error) {
+ return int(obj.B), nil
+}
diff --git a/graphql/resolvers/label.go b/graphql/resolvers/label.go
new file mode 100644
index 00000000..7619f748
--- /dev/null
+++ b/graphql/resolvers/label.go
@@ -0,0 +1,22 @@
+package resolvers
+
+import (
+ "context"
+ "image/color"
+
+ "github.com/MichaelMure/git-bug/bug"
+ "github.com/MichaelMure/git-bug/graphql/graph"
+)
+
+var _ graph.LabelResolver = &labelResolver{}
+
+type labelResolver struct{}
+
+func (labelResolver) Name(ctx context.Context, obj *bug.Label) (string, error) {
+ return obj.String(), nil
+}
+
+func (labelResolver) Color(ctx context.Context, obj *bug.Label) (*color.RGBA, error) {
+ rgba := obj.RGBA()
+ return &rgba, nil
+}
diff --git a/graphql/resolvers/root.go b/graphql/resolvers/root.go
index 7414a097..f6a4a57b 100644
--- a/graphql/resolvers/root.go
+++ b/graphql/resolvers/root.go
@@ -34,6 +34,14 @@ func (RootResolver) Bug() graph.BugResolver {
return &bugResolver{}
}
+func (RootResolver) Color() graph.ColorResolver {
+ return &colorResolver{}
+}
+
+func (RootResolver) Label() graph.LabelResolver {
+ return &labelResolver{}
+}
+
func (r RootResolver) Identity() graph.IdentityResolver {
return &identityResolver{}
}