aboutsummaryrefslogtreecommitdiffstats
path: root/bug
diff options
context:
space:
mode:
Diffstat (limited to 'bug')
-rw-r--r--bug/label.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/bug/label.go b/bug/label.go
index 889bf455..c84c56cd 100644
--- a/bug/label.go
+++ b/bug/label.go
@@ -1,7 +1,29 @@
package bug
+import (
+ "fmt"
+ "io"
+)
+
type Label string
func (l Label) String() string {
return string(l)
}
+
+// UnmarshalGQL implements the graphql.Marshaler interface
+func (l *Label) UnmarshalGQL(v interface{}) error {
+ _, ok := v.(string)
+ if !ok {
+ return fmt.Errorf("labels must be strings")
+ }
+
+ *l = v.(Label)
+
+ return nil
+}
+
+// MarshalGQL implements the graphql.Marshaler interface
+func (l Label) MarshalGQL(w io.Writer) {
+ w.Write([]byte(l))
+}