mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-15 02:01:43 +03:00
b478cd1bcb
fix #6
205 lines
4.5 KiB
GraphQL
205 lines
4.5 KiB
GraphQL
scalar Time
|
|
scalar Label
|
|
scalar Hash
|
|
|
|
"""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!
|
|
}
|
|
|
|
"""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!]!
|
|
nodes: [Comment!]!
|
|
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!
|
|
|
|
"""All media's hash referenced in this comment"""
|
|
files: [Hash!]!
|
|
}
|
|
|
|
enum Status {
|
|
OPEN
|
|
CLOSED
|
|
}
|
|
|
|
"""An object that has an author."""
|
|
interface Authored {
|
|
"""The author of this object."""
|
|
author: Person!
|
|
}
|
|
|
|
type OperationConnection {
|
|
edges: [OperationEdge!]!
|
|
nodes: [Operation!]!
|
|
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!
|
|
files: [Hash!]!
|
|
}
|
|
|
|
type SetTitleOperation implements Operation & Authored {
|
|
author: Person!
|
|
date: Time!
|
|
|
|
title: String!
|
|
was: String!
|
|
}
|
|
|
|
type AddCommentOperation implements Operation & Authored {
|
|
author: Person!
|
|
date: Time!
|
|
|
|
message: String!
|
|
files: [Hash!]!
|
|
}
|
|
|
|
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!]!
|
|
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 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!
|
|
|
|
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!
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
type Query {
|
|
defaultRepository: Repository
|
|
repository(id: String!): Repository
|
|
}
|
|
|
|
type Mutation {
|
|
newBug(repoRef: String, title: String!, message: String!, files: [Hash!]): Bug!
|
|
|
|
addComment(repoRef: String, prefix: String!, message: String!, files: [Hash!]): Bug!
|
|
changeLabels(repoRef: String, prefix: String!, added: [String!], removed: [String!]): Bug!
|
|
open(repoRef: String, prefix: String!): Bug!
|
|
close(repoRef: String, prefix: String!): Bug!
|
|
setTitle(repoRef: String, prefix: String!, title: String!): Bug!
|
|
|
|
commit(repoRef: String, prefix: String!): Bug!
|
|
}
|