blob: 14b2bec51a0db7203556f3d6aeaf7d99fbd4c8ea (
plain) (
tree)
|
|
scalar Time
scalar Label
# Information about pagination in a connection.
type PageInfo {
# When paginating forwards, are there more items?
hasNextPage: Boolean!
# When paginating backwards, are there more items?
hasPreviousPage: Boolean!
# When paginating backwards, the cursor to continue.
# startCursor: String
# When paginating forwards, the cursor to continue.
# endCursor: String
}
input ConnectionInput {
# 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
}
# Represents an person in a git object.
type Person {
# The email of the person.
email: String
# The name of the person.
name: String
}
type CommentConnection {
edges: [CommentEdge!]!
pageInfo: PageInfo!
totalCount: Int!
}
type CommentEdge {
cursor: String!
node: Comment!
}
# Represents a comment on a bug.
type Comment implements Authored {
# The author of this comment.
author: Person!
# The message of this comment.
message: String!
}
enum Status {
OPEN
CLOSED
}
# An object that has an author.
interface Authored {
# The author of this object.
author: Person!
}
type OperationConnection {
edges: [OperationEdge!]!
pageInfo: PageInfo!
totalCount: Int!
}
type OperationEdge {
cursor: String!
node: OperationUnion!
}
# An operation applied to a bug.
interface Operation {
# The operations author.
author: Person!
# The datetime when this operation was issued.
date: Time!
}
type CreateOperation implements Operation, Authored {
author: Person!
date: Time!
title: String!
message: String!
}
type SetTitleOperation implements Operation, Authored {
author: Person!
date: Time!
title: String!
}
type AddCommentOperation implements Operation, Authored {
author: Person!
date: Time!
message: String!
}
type SetStatusOperation implements Operation, Authored {
author: Person!
date: Time!
status: Status!
}
type LabelChangeOperation implements Operation, Authored {
author: Person!
date: Time!
added: [Label!]!
removed: [Label!]!
}
union OperationUnion =
CreateOperation
| SetTitleOperation
| AddCommentOperation
| SetStatusOperation
| LabelChangeOperation
# The connection type for Bug.
type BugConnection {
# A list of edges.
edges: [BugEdge!]!
# 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 Bug {
id: String!
humanId: String!
title: String!
status: Status!
# A list of labels associated with the repository.
labels: [Label!]!
comments(input: ConnectionInput!): CommentConnection!
operations(input: ConnectionInput!): OperationConnection!
}
type Repository {
allBugs(input: ConnectionInput!): BugConnection!
bug(prefix: String!): Bug
}
type Query {
defaultRepository: Repository
repository(id: String!): Repository
}
|