From 0d5bd6b18afde898e610746657a87080235f6222 Mon Sep 17 00:00:00 2001 From: Michael Muré Date: Sun, 23 Dec 2018 17:55:41 +0100 Subject: graphql: now that it's possible, split the schema for clarity --- graphql/operations.graphql | 100 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 graphql/operations.graphql (limited to 'graphql/operations.graphql') diff --git a/graphql/operations.graphql b/graphql/operations.graphql new file mode 100644 index 00000000..420a9e12 --- /dev/null +++ b/graphql/operations.graphql @@ -0,0 +1,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!]! +} \ No newline at end of file -- cgit