diff options
Diffstat (limited to 'graphql/models')
-rw-r--r-- | graphql/models/edges.go | 13 | ||||
-rw-r--r-- | graphql/models/gen_models.go | 88 |
2 files changed, 101 insertions, 0 deletions
diff --git a/graphql/models/edges.go b/graphql/models/edges.go new file mode 100644 index 00000000..677d13f5 --- /dev/null +++ b/graphql/models/edges.go @@ -0,0 +1,13 @@ +package models + +func (e OperationEdge) GetCursor() string { + return e.Cursor +} + +func (e BugEdge) GetCursor() string { + return e.Cursor +} + +func (e CommentEdge) GetCursor() string { + return e.Cursor +} diff --git a/graphql/models/gen_models.go b/graphql/models/gen_models.go new file mode 100644 index 00000000..a59288ec --- /dev/null +++ b/graphql/models/gen_models.go @@ -0,0 +1,88 @@ +// Code generated by github.com/vektah/gqlgen, DO NOT EDIT. + +package models + +import ( + fmt "fmt" + io "io" + strconv "strconv" + + bug "github.com/MichaelMure/git-bug/bug" +) + +type Authored interface{} +type BugConnection struct { + Edges []BugEdge `json:"edges"` + PageInfo PageInfo `json:"pageInfo"` + TotalCount int `json:"totalCount"` +} +type BugEdge struct { + Cursor string `json:"cursor"` + Node bug.Snapshot `json:"node"` +} +type CommentConnection struct { + Edges []CommentEdge `json:"edges"` + PageInfo PageInfo `json:"pageInfo"` + TotalCount int `json:"totalCount"` +} +type CommentEdge struct { + Cursor string `json:"cursor"` + Node bug.Comment `json:"node"` +} +type ConnectionInput struct { + After *string `json:"after"` + Before *string `json:"before"` + First *int `json:"first"` + Last *int `json:"last"` +} +type Operation interface{} +type OperationConnection struct { + Edges []OperationEdge `json:"edges"` + PageInfo PageInfo `json:"pageInfo"` + TotalCount int `json:"totalCount"` +} +type OperationEdge struct { + Cursor string `json:"cursor"` + Node OperationUnion `json:"node"` +} +type OperationUnion interface{} +type PageInfo struct { + HasNextPage bool `json:"hasNextPage"` + HasPreviousPage bool `json:"hasPreviousPage"` +} + +type Status string + +const ( + StatusOpen Status = "OPEN" + StatusClosed Status = "CLOSED" +) + +func (e Status) IsValid() bool { + switch e { + case StatusOpen, StatusClosed: + return true + } + return false +} + +func (e Status) String() string { + return string(e) +} + +func (e *Status) UnmarshalGQL(v interface{}) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = Status(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid Status", str) + } + return nil +} + +func (e Status) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} |