Compare commits

..

1 Commits

Author SHA1 Message Date
a68bb67926 Expose per-ball detector boxes on TableStateGQL
Regenerated from the backend branch that adds identifierToBox, so this
commit's schema matches that branch's Python export exactly. Kept off gql
master because the export also reorders the share-link declarations that
gql master carries in their pre-alphabetical positions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 18:53:12 -07:00
3 changed files with 36 additions and 64 deletions

View File

@@ -4078,6 +4078,7 @@ export type SyncAppleSubscriptionResultGql = {
export type TableStateGql = { export type TableStateGql = {
__typename?: "TableStateGQL"; __typename?: "TableStateGQL";
homography?: Maybe<HomographyInfoGql>; homography?: Maybe<HomographyInfoGql>;
identifierToBox: Array<BoundingBoxGql>;
identifierToColor: Array<Maybe<RgbColorGql>>; identifierToColor: Array<Maybe<RgbColorGql>>;
identifierToPosition: Array<Array<Scalars["Float"]["output"]>>; identifierToPosition: Array<Array<Scalars["Float"]["output"]>>;
}; };
@@ -6890,10 +6891,8 @@ export type ReactToVideoMutation = {
}; };
export type GetShotLabVideosQueryVariables = Exact<{ export type GetShotLabVideosQueryVariables = Exact<{
feedInput: VideoFeedInputGql; userId: Scalars["Int"]["input"];
includePrivate: IncludePrivateEnum;
limit?: Scalars["Int"]["input"]; limit?: Scalars["Int"]["input"];
after?: InputMaybe<Scalars["String"]["input"]>;
}>; }>;
export type GetShotLabVideosQuery = { export type GetShotLabVideosQuery = {
@@ -6921,11 +6920,6 @@ export type GetShotLabVideosQuery = {
lastSegmentUploadedAt?: any | null; lastSegmentUploadedAt?: any | null;
} | null; } | null;
}>; }>;
pageInfo: {
__typename?: "PageInfoGQL";
hasNextPage: boolean;
endCursor?: string | null;
};
}; };
}; };
@@ -15177,18 +15171,12 @@ export type ReactToVideoMutationOptions = Apollo.BaseMutationOptions<
ReactToVideoMutationVariables ReactToVideoMutationVariables
>; >;
export const GetShotLabVideosDocument = gql` export const GetShotLabVideosDocument = gql`
query GetShotLabVideos( query GetShotLabVideos($userId: Int!, $limit: Int! = 25) {
$feedInput: VideoFeedInputGQL!
$includePrivate: IncludePrivateEnum!
$limit: Int! = 25
$after: String = null
) {
getFeedVideos( getFeedVideos(
limit: $limit limit: $limit
after: $after
includeCallersVideos: false includeCallersVideos: false
includePrivate: $includePrivate includePrivate: MINE
feedInput: $feedInput feedInput: { userId: $userId }
) { ) {
videos { videos {
id id
@@ -15208,10 +15196,6 @@ export const GetShotLabVideosDocument = gql`
lastSegmentUploadedAt lastSegmentUploadedAt
} }
} }
pageInfo {
hasNextPage
endCursor
}
} }
} }
`; `;
@@ -15228,10 +15212,8 @@ export const GetShotLabVideosDocument = gql`
* @example * @example
* const { data, loading, error } = useGetShotLabVideosQuery({ * const { data, loading, error } = useGetShotLabVideosQuery({
* variables: { * variables: {
* feedInput: // value for 'feedInput' * userId: // value for 'userId'
* includePrivate: // value for 'includePrivate'
* limit: // value for 'limit' * limit: // value for 'limit'
* after: // value for 'after'
* }, * },
* }); * });
*/ */

View File

@@ -1,19 +1,12 @@
# Lightweight two-step picker data for Shot Lab's video-first source: recent # Lightweight two-step picker data for Shot Lab's video-first source: the
# videos from the requested audience (mine, followed users, or public), then # caller's recent videos (completed or still uploading), then that video's
# that video's shots. The stream fields hint at "actively updating" without # shots. The stream fields hint at "actively updating" without gating.
# gating. query GetShotLabVideos($userId: Int!, $limit: Int! = 25) {
query GetShotLabVideos(
$feedInput: VideoFeedInputGQL!
$includePrivate: IncludePrivateEnum!
$limit: Int! = 25
$after: String = null
) {
getFeedVideos( getFeedVideos(
limit: $limit limit: $limit
after: $after
includeCallersVideos: false includeCallersVideos: false
includePrivate: $includePrivate includePrivate: MINE
feedInput: $feedInput feedInput: { userId: $userId }
) { ) {
videos { videos {
id id
@@ -33,10 +26,6 @@ query GetShotLabVideos(
lastSegmentUploadedAt lastSegmentUploadedAt
} }
} }
pageInfo {
hasNextPage
endCursor
}
} }
} }

View File

@@ -249,11 +249,6 @@ input CreatePoolHallCameraInput {
claimTermsText: String = null claimTermsText: String = null
} }
input CreateShotShareLinkInput {
shotIds: [Int!]!
paddingSeconds: Float = null
}
input CreatePoolHallInput { input CreatePoolHallInput {
name: String! name: String!
address: String = null address: String = null
@@ -264,6 +259,11 @@ input CreatePoolHallInput {
timezone: String = null timezone: String = null
} }
input CreateShotShareLinkInput {
shotIds: [Int!]!
paddingSeconds: Float = null
}
type CreateSubscriptionResultGQL { type CreateSubscriptionResultGQL {
checkoutUrl: String! checkoutUrl: String!
sessionId: String! sessionId: String!
@@ -536,19 +536,6 @@ type GetUploadLinksReturn {
stream: UploadStreamGQL stream: UploadStreamGQL
} }
type SegmentUploadLink {
segmentIndex: Int!
uploadUrl: String!
headers: [Header]!
}
type UploadLinkBatch {
links: [SegmentUploadLink!]!
alreadyUploaded: [Int!]!
}
union UploadLinkBatchGetUploadLinkErrors = UploadLinkBatch | GetUploadLinkErrors
type HLSPlaylistGQL { type HLSPlaylistGQL {
videoId: Int! videoId: Int!
m3u8Text: String! m3u8Text: String!
@@ -1314,6 +1301,12 @@ type SegmentAlreadyUploadedErr {
segmentId: Int! segmentId: Int!
} }
type SegmentUploadLink {
segmentIndex: Int!
uploadUrl: String!
headers: [Header]!
}
type SerializedShotPathsGQL { type SerializedShotPathsGQL {
b64EncodedBuffer: String b64EncodedBuffer: String
} }
@@ -1466,6 +1459,11 @@ enum SessionCoachStateEnum {
FAILED FAILED
} }
type ShareLinkGQL {
slug: String!
url: String!
}
type ShotAnnotationGQL { type ShotAnnotationGQL {
shotId: Int! shotId: Int!
type: ShotAnnotationTypeGQL! type: ShotAnnotationTypeGQL!
@@ -1715,6 +1713,7 @@ type TableStateGQL {
identifierToPosition: [[Float!]!]! identifierToPosition: [[Float!]!]!
homography: HomographyInfoGQL homography: HomographyInfoGQL
identifierToColor: [RGBColorGQL]! identifierToColor: [RGBColorGQL]!
identifierToBox: [BoundingBoxGQL!]!
} }
type TagClassGQL { type TagClassGQL {
@@ -1800,6 +1799,13 @@ type UploadLink {
headers: [Header]! headers: [Header]!
} }
type UploadLinkBatch {
links: [SegmentUploadLink!]!
alreadyUploaded: [Int!]!
}
union UploadLinkBatchGetUploadLinkErrors = UploadLinkBatch | GetUploadLinkErrors
union UploadLinkGetProfileUploadLinkErrors = union UploadLinkGetProfileUploadLinkErrors =
UploadLink UploadLink
| GetProfileUploadLinkErrors | GetProfileUploadLinkErrors
@@ -1919,11 +1925,6 @@ type UserSubscriptionStatusGQL {
stripeSubscriptionId: String stripeSubscriptionId: String
} }
type ShareLinkGQL {
slug: String!
url: String!
}
type VideoExportJobGQL { type VideoExportJobGQL {
id: Int! id: Int!
videoId: Int! videoId: Int!