aboutsummaryrefslogblamecommitdiffstats
path: root/graphql/schema/timeline.graphql
blob: 35bb88bf27a633dc6b2a06a3dd91d58c4e7340c0 (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: 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!
}