144 lines
3.0 KiB
GraphQL
144 lines
3.0 KiB
GraphQL
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
"""
|
|
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.
|
|
"""
|
|
scalar GlobalID
|
|
@specifiedBy(url: "https://relay.dev/graphql/objectidentification.htm")
|
|
|
|
type Mutation {
|
|
createDeletionId: String!
|
|
acceptTos: Boolean!
|
|
acceptTermsOfService: String!
|
|
uploadVideo(
|
|
file: Upload!
|
|
startTimeSec: Float = null
|
|
durationTimeSec: Float = null
|
|
): Video!
|
|
uploadSharedVideo(file: Upload!): SharedVideo!
|
|
uploadAnnotations(file: Upload!): Boolean!
|
|
}
|
|
|
|
"""
|
|
An object with a Globally Unique ID
|
|
"""
|
|
interface Node {
|
|
"""
|
|
The Globally Unique ID of this object
|
|
"""
|
|
id: GlobalID!
|
|
}
|
|
|
|
"""
|
|
Information to aid in pagination.
|
|
"""
|
|
type PageInfo {
|
|
"""
|
|
When paginating forwards, are there more items?
|
|
"""
|
|
hasNextPage: Boolean!
|
|
|
|
"""
|
|
When paginating backwards, are there more items?
|
|
"""
|
|
hasPreviousPage: Boolean!
|
|
|
|
"""
|
|
When paginating backwards, the cursor to continue.
|
|
"""
|
|
startCursor: String
|
|
|
|
"""
|
|
When paginating forwards, the cursor to continue.
|
|
"""
|
|
endCursor: String
|
|
}
|
|
|
|
type Query {
|
|
defaultVideo: Video!
|
|
videos(
|
|
"""
|
|
Returns the items in the list that come before the specified cursor.
|
|
"""
|
|
before: String = null
|
|
|
|
"""
|
|
Returns the items in the list that come after the specified cursor.
|
|
"""
|
|
after: String = null
|
|
|
|
"""
|
|
Returns the first n items from the list.
|
|
"""
|
|
first: Int = null
|
|
|
|
"""
|
|
Returns the items in the list that come after the specified cursor.
|
|
"""
|
|
last: Int = null
|
|
): VideoConnection!
|
|
sharedVideo(path: String!): SharedVideo!
|
|
}
|
|
|
|
type SharedVideo {
|
|
path: String!
|
|
url: String!
|
|
}
|
|
|
|
scalar Upload
|
|
|
|
type Video implements Node {
|
|
"""
|
|
The Globally Unique ID of this object
|
|
"""
|
|
id: GlobalID!
|
|
path: String!
|
|
posterPath: String
|
|
width: Int!
|
|
height: Int!
|
|
url: String!
|
|
posterUrl: String!
|
|
}
|
|
|
|
"""
|
|
A connection to a list of items.
|
|
"""
|
|
type VideoConnection {
|
|
"""
|
|
Pagination data for this connection
|
|
"""
|
|
pageInfo: PageInfo!
|
|
|
|
"""
|
|
Contains the nodes in this connection
|
|
"""
|
|
edges: [VideoEdge!]!
|
|
}
|
|
|
|
"""
|
|
An edge in a connection.
|
|
"""
|
|
type VideoEdge {
|
|
"""
|
|
A cursor for use in pagination
|
|
"""
|
|
cursor: String!
|
|
|
|
"""
|
|
The item at the end of the edge
|
|
"""
|
|
node: Video!
|
|
}
|