aboutsummaryrefslogtreecommitdiffstats
path: root/api/graphql/schema/bug_timeline.graphql
blob: 5fa09497e1867aec0c6bd380e522cccafdde3e98 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
"""An item in the timeline of bug events"""
interface BugTimelineItem
@goModel(model: "github.com/git-bug/git-bug/entities/bug.TimelineItem") {
    """The identifier of the source operation"""
    id: CombinedId!
}

"""CommentHistoryStep hold one version of a message in the history"""
type BugCommentHistoryStep
@goModel(model: "github.com/git-bug/git-bug/entities/bug.CommentHistoryStep") {
    message: String!
    date: Time!
}

# Connection

"""The connection type for TimelineItem"""
type BugTimelineItemConnection {
    edges: [BugTimelineItemEdge!]!
    nodes: [BugTimelineItem!]!
    pageInfo: PageInfo!
    totalCount: Int!
}

"""Represent a TimelineItem"""
type BugTimelineItemEdge {
    cursor: String!
    node: BugTimelineItem!
}

# Items

"""BugCreateTimelineItem is a BugTimelineItem that represent the creation of a bug and its message edition history"""
type BugCreateTimelineItem implements BugTimelineItem & Authored
@goModel(model: "github.com/git-bug/git-bug/entities/bug.CreateTimelineItem") {
    """The identifier of the source operation"""
    id: CombinedId! @goField(name: "CombinedId")
    author: Identity!
    message: String!
    messageIsEmpty: Boolean!
    files: [Hash!]!
    createdAt: Time!
    lastEdit: Time!
    edited: Boolean!
    history: [BugCommentHistoryStep!]!
}

"""BugAddCommentTimelineItem is a BugTimelineItem that represent a BugComment and its edition history"""
type BugAddCommentTimelineItem implements BugTimelineItem & Authored
@goModel(model: "github.com/git-bug/git-bug/entities/bug.AddCommentTimelineItem") {
    """The identifier of the source operation"""
    id: CombinedId! @goField(name: "CombinedId")
    author: Identity!
    message: String!
    messageIsEmpty: Boolean!
    files: [Hash!]!
    createdAt: Time!
    lastEdit: Time!
    edited: Boolean!
    history: [BugCommentHistoryStep!]!
}

"""BugLabelChangeTimelineItem is a BugTimelineItem that represent a change in the labels of a bug"""
type BugLabelChangeTimelineItem implements BugTimelineItem & Authored
@goModel(model: "github.com/git-bug/git-bug/entities/bug.LabelChangeTimelineItem") {
    """The identifier of the source operation"""
    id: CombinedId! @goField(name: "CombinedId")
    author: Identity!
    date: Time!
    added: [Label!]!
    removed: [Label!]!
}

"""BugSetStatusTimelineItem is a BugTimelineItem that represent a change in the status of a bug"""
type BugSetStatusTimelineItem implements BugTimelineItem & Authored
@goModel(model: "github.com/git-bug/git-bug/entities/bug.SetStatusTimelineItem") {
    """The identifier of the source operation"""
    id: CombinedId! @goField(name: "CombinedId")
    author: Identity!
    date: Time!
    status: Status!
}

"""BugLabelChangeTimelineItem is a BugTimelineItem that represent a change in the title of a bug"""
type BugSetTitleTimelineItem implements BugTimelineItem & Authored
@goModel(model: "github.com/git-bug/git-bug/entities/bug.SetTitleTimelineItem") {
    """The identifier of the source operation"""
    id: CombinedId! @goField(name: "CombinedId")
    author: Identity!
    date: Time!
    title: String!
    was: String!
}