type Query {
    "Get a list of Assets"
    assets(options: AssetListOptions): AssetList!
    "Get a single Asset by id"
    asset(id: ID!): Asset
}

type Mutation {
    "Create a new Asset"
    createAssets(input: [CreateAssetInput!]!): [CreateAssetResult!]!
    "Update an existing Asset"
    updateAsset(input: UpdateAssetInput!): Asset!
    "Delete an Asset"
    deleteAsset(id: ID!, force: Boolean): DeletionResponse!
    "Delete multiple Assets"
    deleteAssets(ids: [ID!]!, force: Boolean): DeletionResponse!
}

type MimeTypeError implements ErrorResult {
    errorCode: ErrorCode!
    message: String!
    fileName: String!
    mimeType: String!
}

union CreateAssetResult = Asset | MimeTypeError

# generated by generateListOptions function
input AssetListOptions

input CreateAssetInput {
    file: Upload!
}

input CoordinateInput {
    x: Float!
    y: Float!
}

input UpdateAssetInput {
    id: ID!
    name: String
    focalPoint: CoordinateInput
}
