git-bug/graphql/schema/timeline.graphql
2019-03-01 22:35:36 +01:00

86 lines
2.2 KiB
GraphQL

"""An item in the timeline of events"""
interface TimelineItem {
"""The hash of the source operation"""
hash: Hash!
}
"""CommentHistoryStep hold one version of a message in the history"""
type CommentHistoryStep {
message: String!
date: Time!
}
# Connection
"""The connection type for TimelineItem"""
type TimelineItemConnection {
edges: [TimelineItemEdge!]!
nodes: [TimelineItem!]!
pageInfo: PageInfo!
totalCount: Int!
}
"""Represent a TimelineItem"""
type TimelineItemEdge {
cursor: String!
node: TimelineItem!
}
# Items
"""CreateTimelineItem is a TimelineItem that represent the creation of a bug and its message edition history"""
type CreateTimelineItem implements TimelineItem {
"""The hash of the source operation"""
hash: Hash!
author: Identity!
message: String!
messageIsEmpty: Boolean!
files: [Hash!]!
createdAt: Time!
lastEdit: Time!
edited: Boolean!
history: [CommentHistoryStep!]!
}
"""AddCommentTimelineItem is a TimelineItem that represent a Comment and its edition history"""
type AddCommentTimelineItem implements TimelineItem {
"""The hash of the source operation"""
hash: Hash!
author: Identity!
message: String!
messageIsEmpty: Boolean!
files: [Hash!]!
createdAt: Time!
lastEdit: Time!
edited: Boolean!
history: [CommentHistoryStep!]!
}
"""LabelChangeTimelineItem is a TimelineItem that represent a change in the labels of a bug"""
type LabelChangeTimelineItem implements TimelineItem {
"""The hash of the source operation"""
hash: Hash!
author: Identity!
date: Time!
added: [Label!]!
removed: [Label!]!
}
"""SetStatusTimelineItem is a TimelineItem that represent a change in the status of a bug"""
type SetStatusTimelineItem implements TimelineItem {
"""The hash of the source operation"""
hash: Hash!
author: Identity!
date: Time!
status: Status!
}
"""LabelChangeTimelineItem is a TimelineItem that represent a change in the title of a bug"""
type SetTitleTimelineItem implements TimelineItem {
"""The hash of the source operation"""
hash: Hash!
author: Identity!
date: Time!
title: String!
was: String!
}