diff options
Diffstat (limited to 'graphql/types.go')
-rw-r--r-- | graphql/types.go | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/graphql/types.go b/graphql/types.go new file mode 100644 index 00000000..edce9ea1 --- /dev/null +++ b/graphql/types.go @@ -0,0 +1,48 @@ +package graphql + +import "github.com/graphql-go/graphql" + +// Internally, it's the Snapshot +var bugType = graphql.NewObject(graphql.ObjectConfig{ + Name: "Bug", + Fields: graphql.Fields{ + "id": &graphql.Field{ + Type: graphql.String, + }, + "status": &graphql.Field{ + Type: graphql.String, + }, + "comments": &graphql.Field{ + Type: graphql.NewList(commentType), + }, + "labels": &graphql.Field{ + Type: graphql.NewList(graphql.String), + }, + // TODO: operations + }, +}) + +var commentType = graphql.NewObject(graphql.ObjectConfig{ + Name: "Comment", + Fields: graphql.Fields{ + "author": &graphql.Field{ + Type: personType, + }, + "message": &graphql.Field{ + Type: graphql.String, + }, + // TODO: time + }, +}) + +var personType = graphql.NewObject(graphql.ObjectConfig{ + Name: "Person", + Fields: graphql.Fields{ + "name": &graphql.Field{ + Type: graphql.String, + }, + "email": &graphql.Field{ + Type: graphql.String, + }, + }, +}) |