aboutsummaryrefslogblamecommitdiffstats
path: root/graphql/timeline.graphql
blob: 75f7230537a5154646db6a3010233a0462ba69a0 (plain) (tree)



































                                                                                                               
                            












                                                                                               
                            


































                                                                                              
"""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: Person!
    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: Person!
    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: Person!
    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: Person!
    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: Person!
    date: Time!
    title: String!
    was: String!
}