diff options
author | Michael Muré <batolettre@gmail.com> | 2018-12-23 17:55:41 +0100 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2018-12-23 17:55:41 +0100 |
commit | 0d5bd6b18afde898e610746657a87080235f6222 (patch) | |
tree | be714ae264bcda3aff003c4e4080687e628aeec3 /graphql/bug.graphql | |
parent | 1410a1af75b1ab9ea3f980a7e372728f9a123abf (diff) | |
download | git-bug-0d5bd6b18afde898e610746657a87080235f6222.tar.gz |
graphql: now that it's possible, split the schema for clarity
Diffstat (limited to 'graphql/bug.graphql')
-rw-r--r-- | graphql/bug.graphql | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/graphql/bug.graphql b/graphql/bug.graphql new file mode 100644 index 00000000..27bbba99 --- /dev/null +++ b/graphql/bug.graphql @@ -0,0 +1,122 @@ +"""Represents an person""" +type Person { + """The name of the person, if known.""" + name: String + """The email of the person, if known.""" + email: String + """The login of the person, if known.""" + login: String + """A string containing the either the name of the person, its login or both""" + displayName: String! + """An url to an avatar""" + avatarUrl: String +} + +"""Represents a comment on a bug.""" +type Comment implements Authored { + """The author of this comment.""" + author: Person! + + """The message of this comment.""" + message: String! + + """All media's hash referenced in this comment""" + files: [Hash!]! +} + +type CommentConnection { + edges: [CommentEdge!]! + nodes: [Comment!]! + pageInfo: PageInfo! + totalCount: Int! +} + +type CommentEdge { + cursor: String! + node: Comment! +} + +enum Status { + OPEN + CLOSED +} + +type Bug { + id: String! + humanId: String! + status: Status! + title: String! + labels: [Label!]! + author: Person! + createdAt: Time! + lastEdit: Time! + + comments( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """Returns the elements in the list that come before the specified cursor.""" + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + ): CommentConnection! + + timeline( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """Returns the elements in the list that come before the specified cursor.""" + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + ): TimelineItemConnection! + + operations( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """Returns the elements in the list that come before the specified cursor.""" + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + ): OperationConnection! +} + +"""The connection type for Bug.""" +type BugConnection { + """A list of edges.""" + edges: [BugEdge!]! + nodes: [Bug!]! + """Information to aid in pagination.""" + pageInfo: PageInfo! + """Identifies the total count of items in the connection.""" + totalCount: Int! +} + +"""An edge in a connection.""" +type BugEdge { + """A cursor for use in pagination.""" + cursor: String! + """The item at the end of the edge.""" + node: Bug! +} + +type Repository { + allBugs( + """Returns the elements in the list that come after the specified cursor.""" + after: String + """Returns the elements in the list that come before the specified cursor.""" + before: String + """Returns the first _n_ elements from the list.""" + first: Int + """Returns the last _n_ elements from the list.""" + last: Int + """A query to select and order bugs""" + query: String + ): BugConnection! + bug(prefix: String!): Bug +} + |