diff options
Diffstat (limited to 'api/graphql/schema/bug_timeline.graphql')
-rw-r--r-- | api/graphql/schema/bug_timeline.graphql | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/api/graphql/schema/bug_timeline.graphql b/api/graphql/schema/bug_timeline.graphql new file mode 100644 index 00000000..5fa09497 --- /dev/null +++ b/api/graphql/schema/bug_timeline.graphql @@ -0,0 +1,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! +} |