aboutsummaryrefslogtreecommitdiffstats
path: root/graphql/operations.graphql
blob: 420a9e12622cccdcf5e82f23f5e806b8862291d0 (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
94
95
96
97
98
99
100
"""An operation applied to a bug."""
interface Operation {
    """The hash of the operation"""
    hash: Hash!
    """The operations author."""
    author: Person!
    """The datetime when this operation was issued."""
    date: Time!
}

# Connection

"""The connection type for an Operation"""
type OperationConnection {
    edges: [OperationEdge!]!
    nodes: [Operation!]!
    pageInfo: PageInfo!
    totalCount: Int!
}

"""Represent an Operation"""
type OperationEdge {
    cursor: String!
    node: Operation!
}

# Operations

type CreateOperation implements Operation & Authored {
    """The hash of the operation"""
    hash: Hash!
    """The author of this object."""
    author: Person!
    """The datetime when this operation was issued."""
    date: Time!

    title: String!
    message: String!
    files: [Hash!]!
}

type SetTitleOperation implements Operation & Authored {
    """The hash of the operation"""
    hash: Hash!
    """The author of this object."""
    author: Person!
    """The datetime when this operation was issued."""
    date: Time!

    title: String!
    was: String!
}

type AddCommentOperation implements Operation & Authored {
    """The hash of the operation"""
    hash: Hash!
    """The author of this object."""
    author: Person!
    """The datetime when this operation was issued."""
    date: Time!

    message: String!
    files: [Hash!]!
}

type EditCommentOperation implements Operation & Authored {
    """The hash of the operation"""
    hash: Hash!
    """The author of this object."""
    author: Person!
    """The datetime when this operation was issued."""
    date: Time!

    target: Hash!
    message: String!
    files: [Hash!]!
}

type SetStatusOperation implements Operation & Authored {
    """The hash of the operation"""
    hash: Hash!
    """The author of this object."""
    author: Person!
    """The datetime when this operation was issued."""
    date: Time!

    status: Status!
}

type LabelChangeOperation implements Operation & Authored {
    """The hash of the operation"""
    hash: Hash!
    """The author of this object."""
    author: Person!
    """The datetime when this operation was issued."""
    date: Time!

    added: [Label!]!
    removed: [Label!]!
}