schema.graphql 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. input AddPointsInput {
  2. sessionId: String!
  3. frameIndex: Int!
  4. clearOldPoints: Boolean!
  5. objectId: Int!
  6. labels: [Int!]!
  7. points: [[Float!]!]!
  8. }
  9. type CancelPropagateInVideo {
  10. success: Boolean!
  11. }
  12. input CancelPropagateInVideoInput {
  13. sessionId: String!
  14. }
  15. input ClearPointsInFrameInput {
  16. sessionId: String!
  17. frameIndex: Int!
  18. objectId: Int!
  19. }
  20. type ClearPointsInVideo {
  21. success: Boolean!
  22. }
  23. input ClearPointsInVideoInput {
  24. sessionId: String!
  25. }
  26. type CloseSession {
  27. success: Boolean!
  28. }
  29. input CloseSessionInput {
  30. sessionId: String!
  31. }
  32. type Mutation {
  33. startSession(input: StartSessionInput!): StartSession!
  34. closeSession(input: CloseSessionInput!): CloseSession!
  35. addPoints(input: AddPointsInput!): RLEMaskListOnFrame!
  36. clearPointsInFrame(input: ClearPointsInFrameInput!): RLEMaskListOnFrame!
  37. clearPointsInVideo(input: ClearPointsInVideoInput!): ClearPointsInVideo!
  38. removeObject(input: RemoveObjectInput!): [RLEMaskListOnFrame!]!
  39. cancelPropagateInVideo(
  40. input: CancelPropagateInVideoInput!
  41. ): CancelPropagateInVideo!
  42. createDeletionId: String!
  43. acceptTos: Boolean!
  44. acceptTermsOfService: String!
  45. uploadVideo(
  46. file: Upload!
  47. startTimeSec: Float = null
  48. durationTimeSec: Float = null
  49. ): Video!
  50. uploadSharedVideo(file: Upload!): SharedVideo!
  51. uploadAnnotations(file: Upload!): Boolean!
  52. }
  53. input PingInput {
  54. sessionId: String!
  55. }
  56. type Pong {
  57. success: Boolean!
  58. }
  59. type Query {
  60. ping(input: PingInput!): Pong!
  61. defaultVideo: Video!
  62. videos(
  63. """
  64. Returns the items in the list that come before the specified cursor.
  65. """
  66. before: String = null
  67. """
  68. Returns the items in the list that come after the specified cursor.
  69. """
  70. after: String = null
  71. """
  72. Returns the first n items from the list.
  73. """
  74. first: Int = null
  75. """
  76. Returns the items in the list that come after the specified cursor.
  77. """
  78. last: Int = null
  79. ): VideoConnection!
  80. sharedVideo(path: String!): SharedVideo!
  81. }
  82. type RLEMask {
  83. size: [Int!]!
  84. counts: String!
  85. order: String!
  86. }
  87. type RLEMaskForObject {
  88. objectId: Int!
  89. rleMask: RLEMask!
  90. }
  91. type RLEMaskListOnFrame {
  92. frameIndex: Int!
  93. rleMaskList: [RLEMaskForObject!]!
  94. }
  95. input RemoveObjectInput {
  96. sessionId: String!
  97. objectId: Int!
  98. }
  99. type StartSession {
  100. sessionId: String!
  101. }
  102. input StartSessionInput {
  103. path: String!
  104. }
  105. """
  106. The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID.
  107. """
  108. scalar GlobalID
  109. @specifiedBy(url: "https://relay.dev/graphql/objectidentification.htm")
  110. """
  111. An object with a Globally Unique ID
  112. """
  113. interface Node {
  114. """
  115. The Globally Unique ID of this object
  116. """
  117. id: GlobalID!
  118. }
  119. """
  120. Information to aid in pagination.
  121. """
  122. type PageInfo {
  123. """
  124. When paginating forwards, are there more items?
  125. """
  126. hasNextPage: Boolean!
  127. """
  128. When paginating backwards, are there more items?
  129. """
  130. hasPreviousPage: Boolean!
  131. """
  132. When paginating backwards, the cursor to continue.
  133. """
  134. startCursor: String
  135. """
  136. When paginating forwards, the cursor to continue.
  137. """
  138. endCursor: String
  139. }
  140. type SharedVideo {
  141. path: String!
  142. url: String!
  143. }
  144. scalar Upload
  145. type Video implements Node {
  146. """
  147. The Globally Unique ID of this object
  148. """
  149. id: GlobalID!
  150. path: String!
  151. posterPath: String
  152. width: Int!
  153. height: Int!
  154. url: String!
  155. posterUrl: String!
  156. }
  157. """
  158. A connection to a list of items.
  159. """
  160. type VideoConnection {
  161. """
  162. Pagination data for this connection
  163. """
  164. pageInfo: PageInfo!
  165. """
  166. Contains the nodes in this connection
  167. """
  168. edges: [VideoEdge!]!
  169. }
  170. """
  171. An edge in a connection.
  172. """
  173. type VideoEdge {
  174. """
  175. A cursor for use in pagination
  176. """
  177. cursor: String!
  178. """
  179. The item at the end of the edge
  180. """
  181. node: Video!
  182. }
  183. schema {
  184. query: Query
  185. mutation: Mutation
  186. }