mirror of
https://github.com/MichaelMure/git-bug.git
synced 2025-01-07 10:36:36 +03:00
182 lines
3.2 KiB
GraphQL
182 lines
3.2 KiB
GraphQL
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: Operation!
|
|
}
|
|
|
|
# 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!]!
|
|
}
|
|
|
|
# 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
|
|
|
|
mutation: RepositoryMutation!
|
|
}
|
|
|
|
type Query {
|
|
defaultRepository: Repository
|
|
repository(id: String!): Repository
|
|
}
|
|
|
|
|
|
type RepositoryMutation {
|
|
newBug(title: String!, message: String!): Bug!
|
|
}
|