1"""An item in the timeline of bug events"""
2interface BugTimelineItem
3@goModel(model: "github.com/git-bug/git-bug/entities/bug.TimelineItem") {
4 """The identifier of the source operation"""
5 id: CombinedId!
6}
7
8"""CommentHistoryStep hold one version of a message in the history"""
9type BugCommentHistoryStep
10@goModel(model: "github.com/git-bug/git-bug/entities/bug.CommentHistoryStep") {
11 message: String!
12 date: Time!
13}
14
15# Connection
16
17"""The connection type for TimelineItem"""
18type BugTimelineItemConnection {
19 edges: [BugTimelineItemEdge!]!
20 nodes: [BugTimelineItem!]!
21 pageInfo: PageInfo!
22 totalCount: Int!
23}
24
25"""Represent a TimelineItem"""
26type BugTimelineItemEdge {
27 cursor: String!
28 node: BugTimelineItem!
29}
30
31# Items
32
33"""BugCreateTimelineItem is a BugTimelineItem that represent the creation of a bug and its message edition history"""
34type BugCreateTimelineItem implements BugTimelineItem & Authored
35@goModel(model: "github.com/git-bug/git-bug/entities/bug.CreateTimelineItem") {
36 """The identifier of the source operation"""
37 id: CombinedId! @goField(name: "CombinedId")
38 author: Identity!
39 message: String!
40 messageIsEmpty: Boolean!
41 files: [Hash!]!
42 createdAt: Time!
43 lastEdit: Time!
44 edited: Boolean!
45 history: [BugCommentHistoryStep!]!
46}
47
48"""BugAddCommentTimelineItem is a BugTimelineItem that represent a BugComment and its edition history"""
49type BugAddCommentTimelineItem implements BugTimelineItem & Authored
50@goModel(model: "github.com/git-bug/git-bug/entities/bug.AddCommentTimelineItem") {
51 """The identifier of the source operation"""
52 id: CombinedId! @goField(name: "CombinedId")
53 author: Identity!
54 message: String!
55 messageIsEmpty: Boolean!
56 files: [Hash!]!
57 createdAt: Time!
58 lastEdit: Time!
59 edited: Boolean!
60 history: [BugCommentHistoryStep!]!
61}
62
63"""BugLabelChangeTimelineItem is a BugTimelineItem that represent a change in the labels of a bug"""
64type BugLabelChangeTimelineItem implements BugTimelineItem & Authored
65@goModel(model: "github.com/git-bug/git-bug/entities/bug.LabelChangeTimelineItem") {
66 """The identifier of the source operation"""
67 id: CombinedId! @goField(name: "CombinedId")
68 author: Identity!
69 date: Time!
70 added: [Label!]!
71 removed: [Label!]!
72}
73
74"""BugSetStatusTimelineItem is a BugTimelineItem that represent a change in the status of a bug"""
75type BugSetStatusTimelineItem implements BugTimelineItem & Authored
76@goModel(model: "github.com/git-bug/git-bug/entities/bug.SetStatusTimelineItem") {
77 """The identifier of the source operation"""
78 id: CombinedId! @goField(name: "CombinedId")
79 author: Identity!
80 date: Time!
81 status: Status!
82}
83
84"""BugLabelChangeTimelineItem is a BugTimelineItem that represent a change in the title of a bug"""
85type BugSetTitleTimelineItem implements BugTimelineItem & Authored
86@goModel(model: "github.com/git-bug/git-bug/entities/bug.SetTitleTimelineItem") {
87 """The identifier of the source operation"""
88 id: CombinedId! @goField(name: "CombinedId")
89 author: Identity!
90 date: Time!
91 title: String!
92 was: String!
93}