query GetSerializedShotPaths($filterInput: FilterInput!) { getShots(filterInput: $filterInput) { id videoId startFrame endFrame serializedShotPaths { b64EncodedBuffer } } } query GetShotAnnotationTypes { getShotAnnotationTypes { id name } } mutation UpdateShotAnnotations( $shotId: Int! $annotations: [UpdateAnnotationInputGQL!]! ) { updateShotAnnotations(shotId: $shotId, annotations: $annotations) { shot { id annotations { shotId type { id name } notes } } error { shotId msg } } } ## Should be deprecated query GetShotsWithVideoGql( $filterInput: FilterInput! $shotsOrdering: GetShotsOrdering $limit: Int ) { getOrderedShots( filterInput: $filterInput shotsOrdering: $shotsOrdering limit: $limit ) { shots { id videoId video { screenshotUri endTime } } } } query GetShotsWithJustIds( $filterInput: FilterInput! $shotsOrdering: GetShotsOrdering $limit: Int ) { getOrderedShots( filterInput: $filterInput shotsOrdering: $shotsOrdering limit: $limit ) { shots { id videoId } } } ## Reserved for playlists (which are created from a filter) query GetShotsWithMetadataFilterResult( $filterInput: FilterInput! $shotsOrdering: GetShotsOrdering $limit: Int $ids: [Int!] $countRespectsLimit: Boolean ) { getOrderedShots( filterInput: $filterInput shotsOrdering: $shotsOrdering limit: $limit ids: $ids countRespectsLimit: $countRespectsLimit ) { count shots { ...ShotWithAllFeatures } ids } } # TODO: Delete query GetShotsWithMetadata( $filterInput: FilterInput! $shotsPagination: GetShotsPagination $limit: Int $ids: [Int!] ) { getShotsWithMetadata( filterInput: $filterInput shotsPagination: $shotsPagination limit: $limit ids: $ids ) { count shots { ...ShotWithAllFeatures } ids } } query GetShotsByIds($ids: [Int!]!) { getShotsByIds(ids: $ids) { ...ShotWithAllFeatures } } fragment ShotWithAllFeatures on ShotGQL { id videoId startFrame endFrame startTime @client endTime @client user { id } falsePositiveScore createdAt updatedAt cueObjectFeatures { cueObjectDistance cueObjectAngle cueBallSpeed shotDirection spinType } pocketingIntentionFeatures { make targetPocketDistance targetPocketAngle targetPocketAngleDirection marginOfErrorInDegrees intendedPocketType } pocketingIntentionInfo { ballId pocketId pathMetadataIndex } serializedShotPaths { b64EncodedBuffer } annotations { shotId type { id name } notes } }