diff --git a/src/index.tsx b/src/index.tsx index 242a25e..e1c0f37 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -205,6 +205,11 @@ export enum ClientUploadStatusEnum { UploadEnabled = "UPLOAD_ENABLED", } +export type ClusterAssignmentInput = { + clusterId: Scalars["Int"]["input"]; + userId?: InputMaybe; +}; + export type CommentGql = { __typename?: "CommentGQL"; id: Scalars["Int"]["output"]; @@ -224,6 +229,11 @@ export type CreateBucketSetInput = { keyName: Scalars["String"]["input"]; }; +export type CreateCustomerPortalSessionResultGql = { + __typename?: "CreateCustomerPortalSessionResultGQL"; + portalUrl: Scalars["String"]["output"]; +}; + export type CreateSubscriptionResultGql = { __typename?: "CreateSubscriptionResultGQL"; checkoutUrl: Scalars["String"]["output"]; @@ -2177,6 +2187,12 @@ export type FilterInput = videoId: Array; }; +export type FinalizePlayerAssignmentsInput = { + clusterAssignments?: Array; + shotMoves?: Array; + videoId: Scalars["Int"]["input"]; +}; + export type FloatOrdering = { descending?: Scalars["Boolean"]["input"]; startingAt?: InputMaybe; @@ -2373,6 +2389,7 @@ export type Mutation = { commentOnVideo: Scalars["Boolean"]["output"]; createBucketSet: BucketSetGql; createChallenge: Challenge; + createCustomerPortalSession: CreateCustomerPortalSessionResultGql; createRuleSet: RuleSet; createSubscription: CreateSubscriptionResultGql; createUploadStream: CreateUploadStreamReturn; @@ -2388,6 +2405,7 @@ export type Mutation = { editUploadStream: Scalars["Boolean"]["output"]; editUser: UserGql; ensureStripeCustomerExists: UserGql; + finalizePlayerAssignments: Array; findPrerecordTableLayout?: Maybe; followUser: UserGql; getHlsInitUploadLink: GetUploadLinkReturn; @@ -2511,6 +2529,10 @@ export type MutationEditUserArgs = { input: EditUserInputGql; }; +export type MutationFinalizePlayerAssignmentsArgs = { + input: FinalizePlayerAssignmentsInput; +}; + export type MutationFindPrerecordTableLayoutArgs = { b64Image: Scalars["String"]["input"]; videoId: Scalars["Int"]["input"]; @@ -2673,6 +2695,29 @@ export type PageInfoGql = { hasNextPage: Scalars["Boolean"]["output"]; }; +export type PlayerClusterGql = { + __typename?: "PlayerClusterGQL"; + clusterId: Scalars["Int"]["output"]; + confirmed: Scalars["Boolean"]["output"]; + nShots: Scalars["Int"]["output"]; + shots: Array; + userId?: Maybe; + videoId: Scalars["Int"]["output"]; +}; + +export type PlayerClusterShotGql = { + __typename?: "PlayerClusterShotGQL"; + bboxX1: Scalars["Int"]["output"]; + bboxX2: Scalars["Int"]["output"]; + bboxY1: Scalars["Int"]["output"]; + bboxY2: Scalars["Int"]["output"]; + confidence: Scalars["Float"]["output"]; + cropUrl?: Maybe; + fullFrameUrl?: Maybe; + isConfirmed: Scalars["Boolean"]["output"]; + shotId: Scalars["Int"]["output"]; +}; + export enum PocketEnum { Corner = "CORNER", Side = "SIDE", @@ -2783,6 +2828,7 @@ export type Query = { notifications: NotificationConnection; ruleSets: Array; unreadNotificationCount: Scalars["Int"]["output"]; + videoPlayerClusters: Array; waitFor: Scalars["Float"]["output"]; }; @@ -2949,6 +2995,10 @@ export type QueryNotificationsArgs = { offset?: Scalars["Int"]["input"]; }; +export type QueryVideoPlayerClustersArgs = { + videoId: Scalars["Int"]["input"]; +}; + export type QueryWaitForArgs = { duration: Scalars["Float"]["input"]; }; @@ -3166,6 +3216,11 @@ export type ShotGql = { videoId: Scalars["Int"]["output"]; }; +export type ShotMoveInput = { + newClusterId: Scalars["Int"]["input"]; + shotId: Scalars["Int"]["input"]; +}; + export type ShotsOrderingComponent = | { difficulty: FloatOrdering; @@ -3264,6 +3319,7 @@ export type StripeProductGql = { export type StripeSubscriptionOptionsGql = { __typename?: "StripeSubscriptionOptionsGQL"; products: Array; + trialPeriodDays?: Maybe; }; export enum StripeSubscriptionStatusEnum { diff --git a/src/schema.gql b/src/schema.gql index eeff746..6bde6b7 100644 --- a/src/schema.gql +++ b/src/schema.gql @@ -49,6 +49,7 @@ type Query { limit: Int! = 500 countRespectsLimit: Boolean! = false ): GetRunsResult! + videoPlayerClusters(videoId: Int!): [PlayerClusterGQL!]! getShotAnnotationTypes(errorTypes: Boolean = false): [ShotAnnotationTypeGQL!]! getTableState( b64Image: String! @@ -860,6 +861,27 @@ input DatetimeOrdering { startingAt: DateTime = null } +type PlayerClusterGQL { + videoId: Int! + clusterId: Int! + nShots: Int! + userId: Int + confirmed: Boolean! + shots: [PlayerClusterShotGQL!]! +} + +type PlayerClusterShotGQL { + shotId: Int! + bboxX1: Int! + bboxY1: Int! + bboxX2: Int! + bboxY2: Int! + confidence: Float! + isConfirmed: Boolean! + cropUrl: String + fullFrameUrl: String +} + type TableStateGQL { identifierToPosition: [[Float!]!]! homography: HomographyInfoGQL @@ -940,6 +962,7 @@ type UserRelationship { type StripeSubscriptionOptionsGQL { products: [StripeProductGQL!]! + trialPeriodDays: Int } type StripeProductGQL { @@ -1093,6 +1116,9 @@ type Mutation { markAllNotificationsAsRead: Boolean! markNotificationsAsRead(notificationIds: [Int!]!): Boolean! deleteNotification(notificationId: Int!): Boolean! + finalizePlayerAssignments( + input: FinalizePlayerAssignmentsInput! + ): [PlayerClusterGQL!]! addAnnotationToShot( shotId: Int! annotationName: String! @@ -1117,6 +1143,7 @@ type Mutation { ensureStripeCustomerExists: UserGQL! deleteUser: Boolean! createSubscription(priceId: String!): CreateSubscriptionResultGQL! + createCustomerPortalSession: CreateCustomerPortalSessionResultGQL! cancelSubscription: UserSubscriptionStatusGQL! grantManualEntitlement( userId: Int! @@ -1163,6 +1190,22 @@ enum ReportReasonEnum { OTHER } +input FinalizePlayerAssignmentsInput { + videoId: Int! + clusterAssignments: [ClusterAssignmentInput!]! = [] + shotMoves: [ShotMoveInput!]! = [] +} + +input ClusterAssignmentInput { + clusterId: Int! + userId: Int = null +} + +input ShotMoveInput { + shotId: Int! + newClusterId: Int! +} + type AddShotAnnotationReturn { value: SuccessfulAddAddShotAnnotationErrors! } @@ -1256,6 +1299,10 @@ type CreateSubscriptionResultGQL { sessionId: String! } +type CreateCustomerPortalSessionResultGQL { + portalUrl: String! +} + enum CancellationReasonEnum { DONT_PLAY_ENOUGH TOO_EXPENSIVE