timeline.graphql

 1"""An item in the timeline of events"""
 2interface TimelineItem {
 3    """The hash of the source operation"""
 4    hash: Hash!
 5}
 6
 7"""CommentHistoryStep hold one version of a message in the history"""
 8type CommentHistoryStep {
 9    message: String!
10    date: Time!
11}
12
13# Connection
14
15"""The connection type for TimelineItem"""
16type TimelineItemConnection {
17    edges: [TimelineItemEdge!]!
18    nodes: [TimelineItem!]!
19    pageInfo: PageInfo!
20    totalCount: Int!
21}
22
23"""Represent a TimelineItem"""
24type TimelineItemEdge {
25    cursor: String!
26    node: TimelineItem!
27}
28
29# Items
30
31"""CreateTimelineItem is a TimelineItem that represent the creation of a bug and its message edition history"""
32type CreateTimelineItem implements TimelineItem {
33    """The hash of the source operation"""
34    hash: Hash!
35    author: Person!
36    message: String!
37    files: [Hash!]!
38    createdAt: Time!
39    lastEdit: Time!
40    edited: Boolean!
41    history: [CommentHistoryStep!]!
42}
43
44"""AddCommentTimelineItem is a TimelineItem that represent a Comment and its edition history"""
45type AddCommentTimelineItem implements TimelineItem {
46    """The hash of the source operation"""
47    hash: Hash!
48    author: Person!
49    message: String!
50    files: [Hash!]!
51    createdAt: Time!
52    lastEdit: Time!
53    edited: Boolean!
54    history: [CommentHistoryStep!]!
55}
56
57"""LabelChangeTimelineItem is a TimelineItem that represent a change in the labels of a bug"""
58type LabelChangeTimelineItem implements TimelineItem {
59    """The hash of the source operation"""
60    hash: Hash!
61    author: Person!
62    date: Time!
63    added: [Label!]!
64    removed: [Label!]!
65}
66
67"""SetStatusTimelineItem is a TimelineItem that represent a change in the status of a bug"""
68type SetStatusTimelineItem implements TimelineItem {
69    """The hash of the source operation"""
70    hash: Hash!
71    author: Person!
72    date: Time!
73    status: Status!
74}
75
76"""LabelChangeTimelineItem is a TimelineItem that represent a change in the title of a bug"""
77type SetTitleTimelineItem implements TimelineItem {
78    """The hash of the source operation"""
79    hash: Hash!
80    author: Person!
81    date: Time!
82    title: String!
83    was: String!
84}