diff --git a/src/index.tsx b/src/index.tsx index 7ecb8d9..709b736 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -28,8 +28,6 @@ export type Scalars = { Boolean: { input: boolean; output: boolean }; Int: { input: number; output: number }; Float: { input: number; output: number }; - /** Integer value that can exceed GraphQL Int's 32-bit range. */ - BigInt: { input: any; output: any }; /** Date (isoformat) */ Date: { input: any; output: any }; /** Date with time (isoformat) */ @@ -81,19 +79,6 @@ export enum AlignedIntervalEnum { Year = "YEAR", } -export type AppleIapSubscriptionOptionsGql = { - __typename?: "AppleIapSubscriptionOptionsGQL"; - enabled: Scalars["Boolean"]["output"]; - proMonthlyProductId?: Maybe; - productIds: Array; -}; - -export type BallTrajectoryGql = { - __typename?: "BallTrajectoryGQL"; - ballId: Scalars["Int"]["output"]; - points: Array; -}; - export type BankFeaturesGql = { __typename?: "BankFeaturesGQL"; bankAngle: Scalars["Float"]["output"]; @@ -155,6 +140,39 @@ export type BucketSetInputGql = { feature: Scalars["String"]["input"]; }; +export type CameraClaimSession = { + __typename?: "CameraClaimSession"; + camera: PoolHallCamera; + cameraId: Scalars["ID"]["output"]; + challengeCode: Scalars["String"]["output"]; + createdAt: Scalars["DateTime"]["output"]; + detectedAt?: Maybe; + expiresAt: Scalars["DateTime"]["output"]; + failedAt?: Maybe; + failureReason?: Maybe; + id: Scalars["ID"]["output"]; + status: Scalars["String"]["output"]; + updatedAt: Scalars["DateTime"]["output"]; + userId: Scalars["ID"]["output"]; +}; + +export type CameraLease = { + __typename?: "CameraLease"; + camera: PoolHallCamera; + cameraId: Scalars["ID"]["output"]; + claimSessionId?: Maybe; + createdAt: Scalars["DateTime"]["output"]; + endReason?: Maybe; + endedAt?: Maybe; + expiresAt?: Maybe; + id: Scalars["ID"]["output"]; + startedAt: Scalars["DateTime"]["output"]; + status: Scalars["String"]["output"]; + updatedAt: Scalars["DateTime"]["output"]; + userId: Scalars["ID"]["output"]; + videoId?: Maybe; +}; + export type CancellationFeedbackMetadataInput = { appVersion?: InputMaybe; gitRevision?: InputMaybe; @@ -250,6 +268,21 @@ export type CreateCustomerPortalSessionResultGql = { portalUrl: Scalars["String"]["output"]; }; +export type CreatePoolHallCameraInput = { + name: Scalars["String"]["input"]; + poolHallId: Scalars["ID"]["input"]; + streamPath?: InputMaybe; + tableLabel?: InputMaybe; +}; + +export type CreatePoolHallInput = { + address?: InputMaybe; + latitude?: InputMaybe; + longitude?: InputMaybe; + name: Scalars["String"]["input"]; + timezone?: InputMaybe; +}; + export type CreateSubscriptionResultGql = { __typename?: "CreateSubscriptionResultGQL"; checkoutUrl: Scalars["String"]["output"]; @@ -274,14 +307,6 @@ export type CueObjectFeaturesGql = { spinType?: Maybe; }; -export type CueStrikeInputGql = { - a?: Scalars["Float"]["input"]; - b?: Scalars["Float"]["input"]; - phi: Scalars["Float"]["input"]; - theta?: Scalars["Float"]["input"]; - v0: Scalars["Float"]["input"]; -}; - export type DateRangeFilter = { greaterThan?: InputMaybe; greaterThanEqualTo?: InputMaybe; @@ -308,14 +333,12 @@ export type DeployedConfigGql = { allowNewUsers: Scalars["Boolean"]["output"]; bannerMessages: Array; bucketUrl: Scalars["String"]["output"]; - capabilityEnforcementEnabled: Scalars["Boolean"]["output"]; defaultAndroidRecordingFormat: StreamSegmentTypeEnum; devMode: Scalars["Boolean"]["output"]; environment: Scalars["String"]["output"]; firebase: Scalars["Boolean"]["output"]; minimumAllowedAppVersion: Scalars["String"]["output"]; quotaEnforcementEnabled: Scalars["Boolean"]["output"]; - storageLimitEnforcementEnabled: Scalars["Boolean"]["output"]; subscriptionGatingEnabled: Scalars["Boolean"]["output"]; }; @@ -329,14 +352,6 @@ export type DoesNotOwnShotErrOtherErrorNeedsNote = | DoesNotOwnShotErr | OtherErrorNeedsNote; -export type DrillRunLeaderboardGql = { - __typename?: "DrillRunLeaderboardGQL"; - entries: Array; - totalPlayers: Scalars["Int"]["output"]; - youRank?: Maybe; - youRun?: Maybe; -}; - export type EditShotReturn = { __typename?: "EditShotReturn"; error?: Maybe; @@ -345,7 +360,6 @@ export type EditShotReturn = { export type EditUserInputGql = { agreesToMarketing?: InputMaybe; - bio?: InputMaybe; fargoRating?: InputMaybe; username?: InputMaybe; videosPrivateByDefault?: InputMaybe; @@ -365,7 +379,6 @@ export type EditableShotFieldInputGql = { export enum EntitlementSourceTypeEnum { Admin = "ADMIN", AlphaLegacy = "ALPHA_LEGACY", - Apple = "APPLE", Manual = "MANUAL", Stripe = "STRIPE", } @@ -2303,7 +2316,7 @@ export type GetShotsResult = { export type GetUploadLinkErrors = { __typename?: "GetUploadLinkErrors"; - error: MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErrStorageLimitExceededErr; + error: MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErr; }; export type GetUploadLinkReturn = { @@ -2407,14 +2420,13 @@ export type MustHaveSetForUploadLinkErr = { resolution?: Maybe; }; -export type MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErrStorageLimitExceededErr = +export type MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErr = | InitUploadAlreadyCompletedErr | MustHaveSetForUploadLinkErr | NoInitForChunkedUploadErr | ProcessingFailedErr | SegmentAlreadyUploadedErr - | StorageLimitExceededErr | TooManyInitUploadsErr | TooManyProfileImageUploadsErr; @@ -2423,11 +2435,15 @@ export type Mutation = { addAnnotationToShot: AddShotAnnotationReturn; blockContent: Scalars["Boolean"]["output"]; blockUser: Scalars["Boolean"]["output"]; + cancelCameraClaimSession: CameraClaimSession; cancelSubscription: UserSubscriptionStatusGql; commentOnVideo: Scalars["Boolean"]["output"]; createBucketSet: BucketSetGql; + createCameraClaimSession: CameraClaimSession; createChallenge: Challenge; createCustomerPortalSession: CreateCustomerPortalSessionResultGql; + createPoolHall: PoolHall; + createPoolHallCamera: PoolHallCameraStreamCredentials; createRuleSet: RuleSet; createSubscription: CreateSubscriptionResultGql; createUploadStream: CreateUploadStreamReturn; @@ -2437,7 +2453,6 @@ export type Mutation = { deleteUser: Scalars["Boolean"]["output"]; deleteVideo: Scalars["Boolean"]["output"]; dismissChallenge: Scalars["Boolean"]["output"]; - dismissVideoExport: Scalars["Boolean"]["output"]; editComment: Scalars["Boolean"]["output"]; editProfileImageUri: UserGql; editShot: EditShotReturn; @@ -2458,18 +2473,19 @@ export type Mutation = { reactToVideo: Scalars["Boolean"]["output"]; recalculateChallengeEntry: ChallengeEntry; reportContent: Scalars["Boolean"]["output"]; - requestVideoExport: VideoExportJobGql; respondToChallengeInvitation: ChallengeInvitation; retireTags: Scalars["Boolean"]["output"]; revokeManualEntitlement: UserSubscriptionStatusGql; + rotatePoolHallCameraStreamKey: PoolHallCameraStreamCredentials; setLoggerLevel: Scalars["Boolean"]["output"]; setSegmentDuration: Scalars["Boolean"]["output"]; startChallenge: ChallengeEntry; submitCancellationFeedback: Scalars["Boolean"]["output"]; submitChallengeEntry: ChallengeEntry; - syncAppleSubscription: SyncAppleSubscriptionResultGql; undismissChallenge: Scalars["Boolean"]["output"]; unfollowUser: UserGql; + updatePoolHall: PoolHall; + updatePoolHallCamera: PoolHallCamera; updateShotAnnotations: UpdateShotAnnotationReturn; }; @@ -2487,6 +2503,10 @@ export type MutationBlockUserArgs = { userId: Scalars["Int"]["input"]; }; +export type MutationCancelCameraClaimSessionArgs = { + claimSessionId: Scalars["ID"]["input"]; +}; + export type MutationCommentOnVideoArgs = { message: Scalars["String"]["input"]; parentCommentId?: InputMaybe; @@ -2497,6 +2517,10 @@ export type MutationCreateBucketSetArgs = { params: CreateBucketSetInput; }; +export type MutationCreateCameraClaimSessionArgs = { + cameraId: Scalars["ID"]["input"]; +}; + export type MutationCreateChallengeArgs = { description?: InputMaybe; endDate: Scalars["DateTime"]["input"]; @@ -2510,6 +2534,14 @@ export type MutationCreateChallengeArgs = { startDate: Scalars["DateTime"]["input"]; }; +export type MutationCreatePoolHallArgs = { + input: CreatePoolHallInput; +}; + +export type MutationCreatePoolHallCameraArgs = { + input: CreatePoolHallCameraInput; +}; + export type MutationCreateRuleSetArgs = { description?: InputMaybe; name: Scalars["String"]["input"]; @@ -2546,10 +2578,6 @@ export type MutationDismissChallengeArgs = { challengeId: Scalars["ID"]["input"]; }; -export type MutationDismissVideoExportArgs = { - jobId: Scalars["Int"]["input"]; -}; - export type MutationEditCommentArgs = { commentId: Scalars["Int"]["input"]; newMessage: Scalars["String"]["input"]; @@ -2636,10 +2664,6 @@ export type MutationReportContentArgs = { videoId: Scalars["Int"]["input"]; }; -export type MutationRequestVideoExportArgs = { - input: RequestVideoExportInput; -}; - export type MutationRespondToChallengeInvitationArgs = { accept: Scalars["Boolean"]["input"]; invitationId: Scalars["ID"]["input"]; @@ -2653,6 +2677,10 @@ export type MutationRevokeManualEntitlementArgs = { userId: Scalars["Int"]["input"]; }; +export type MutationRotatePoolHallCameraStreamKeyArgs = { + cameraId: Scalars["ID"]["input"]; +}; + export type MutationSetLoggerLevelArgs = { level: Scalars["String"]["input"]; path: Scalars["String"]["input"]; @@ -2679,10 +2707,6 @@ export type MutationSubmitChallengeEntryArgs = { videoId: Scalars["ID"]["input"]; }; -export type MutationSyncAppleSubscriptionArgs = { - input: SyncAppleSubscriptionInputGql; -}; - export type MutationUndismissChallengeArgs = { challengeId: Scalars["ID"]["input"]; }; @@ -2691,6 +2715,14 @@ export type MutationUnfollowUserArgs = { followedUserId: Scalars["Int"]["input"]; }; +export type MutationUpdatePoolHallArgs = { + input: UpdatePoolHallInput; +}; + +export type MutationUpdatePoolHallCameraArgs = { + input: UpdatePoolHallCameraInput; +}; + export type MutationUpdateShotAnnotationsArgs = { annotations: Array; shotId: Scalars["Int"]["input"]; @@ -2733,7 +2765,6 @@ export enum NotificationTypeEnum { ChallengeInvite = "CHALLENGE_INVITE", Comment = "COMMENT", CommentReply = "COMMENT_REPLY", - ExportReady = "EXPORT_READY", Follow = "FOLLOW", Reaction = "REACTION", } @@ -2784,9 +2815,7 @@ export type PlayerSummaryGql = { makePercentage: Scalars["Float"]["output"]; profileImageUri?: Maybe; representativeFullFrameUrl?: Maybe; - runLengths: Array; score?: Maybe; - spinTypeBreakdown: SpinTypeBreakdownGql; totalShots: Scalars["Int"]["output"]; totalShotsMade: Scalars["Int"]["output"]; userId?: Maybe; @@ -2845,16 +2874,39 @@ export type PocketingIntentionInfoGql = { pocketId: PocketIdentifier; }; -export type PotAimGql = { - __typename?: "PotAimGQL"; - converged: Scalars["Boolean"]["output"]; - cutAngle: Scalars["Float"]["output"]; - feasible: Scalars["Boolean"]["output"]; - geometricPhi: Scalars["Float"]["output"]; - occludingBallIds: Array; - phi: Scalars["Float"]["output"]; - potted: Scalars["Boolean"]["output"]; - requiredPrecision: Scalars["Float"]["output"]; +export type PoolHall = { + __typename?: "PoolHall"; + address?: Maybe; + createdAt: Scalars["DateTime"]["output"]; + id: Scalars["ID"]["output"]; + latitude?: Maybe; + longitude?: Maybe; + name: Scalars["String"]["output"]; + status: Scalars["String"]["output"]; + timezone?: Maybe; + updatedAt: Scalars["DateTime"]["output"]; +}; + +export type PoolHallCamera = { + __typename?: "PoolHallCamera"; + createdAt: Scalars["DateTime"]["output"]; + id: Scalars["ID"]["output"]; + lastPublishedAt?: Maybe; + lastUnpublishedAt?: Maybe; + name: Scalars["String"]["output"]; + poolHall: PoolHall; + poolHallId: Scalars["ID"]["output"]; + status: Scalars["String"]["output"]; + streamPath: Scalars["String"]["output"]; + tableLabel?: Maybe; + updatedAt: Scalars["DateTime"]["output"]; +}; + +export type PoolHallCameraStreamCredentials = { + __typename?: "PoolHallCameraStreamCredentials"; + camera: PoolHallCamera; + rtmpPath: Scalars["String"]["output"]; + streamKey: Scalars["String"]["output"]; }; export type ProcessingFailedErr = { @@ -2875,34 +2927,32 @@ export enum ProcessingStatusEnum { export type Query = { __typename?: "Query"; + activeCameraLease?: Maybe; + cameraClaimSession?: Maybe; challenge?: Maybe; challengeLeaderboard: Array; challenges: Array; - computePotAim: PotAimGql; + claimableCameras: Array; + claimablePoolHalls: Array; doesUsernameExist: Scalars["Boolean"]["output"]; getAggregatedShotMetrics: Array; - getAppleAppAccountToken: Scalars["String"]["output"]; getAvailableSubscriptionOptions: StripeSubscriptionOptionsGql; getBucketSet?: Maybe; getDeployedConfig: DeployedConfigGql; - getDrillRunLeaderboard: DrillRunLeaderboardGql; getFeedVideos: VideoHistoryGql; getGameTypeTagMetrics: Array; getLoggedInUser?: Maybe; getLongestRunsLeaderboard: RunLeaderboardGql; getMakesLeaderboard: CountLeaderboardGql; getMedals: RequestedMedalsGql; - getMyDrillRuns: Array; getOrderedShots: GetShotsResult; getPlayTime: UserPlayTimeGql; getQuotaStatus: QuotaStatusGql; - getResolvedTier: ResolvedTierGql; getRuns: GetRunsResult; getShotAnnotationTypes: Array; getShots: Array; getShotsByIds: Array; getShotsWithMetadata: GetShotsResult; - getStorageStatus?: Maybe; getTableState: TableStateGql; getUser?: Maybe; getUserRelationshipsMatching: UserRelationshipsResult; @@ -2918,16 +2968,19 @@ export type Query = { myChallengeEntries: Array; myChallengeInvitations: Array; myDismissedChallenges: Array; - myVideoExports: Array; notifications: NotificationConnection; + poolHallCameras: Array; + poolHalls: Array; ruleSets: Array; - simulateShot: ShotProjectionGql; unreadNotificationCount: Scalars["Int"]["output"]; - videoExportJob?: Maybe; videoPlayerClusters: Array; waitFor: Scalars["Float"]["output"]; }; +export type QueryCameraClaimSessionArgs = { + id: Scalars["ID"]["input"]; +}; + export type QueryChallengeArgs = { id: Scalars["ID"]["input"]; }; @@ -2941,10 +2994,8 @@ export type QueryChallengesArgs = { includeDismissed?: Scalars["Boolean"]["input"]; }; -export type QueryComputePotAimArgs = { - pocket: PocketIdentifier; - simulationInput: SimulateShotInputGql; - targetBallId: Scalars["Int"]["input"]; +export type QueryClaimableCamerasArgs = { + poolHallId: Scalars["ID"]["input"]; }; export type QueryDoesUsernameExistArgs = { @@ -2959,16 +3010,6 @@ export type QueryGetBucketSetArgs = { keyName: Scalars["String"]["input"]; }; -export type QueryGetDrillRunLeaderboardArgs = { - drillTag: Scalars["String"]["input"]; - interval?: InputMaybe; - limit?: Scalars["Int"]["input"]; - pocketSizeMax?: InputMaybe; - pocketSizeMin?: InputMaybe; - tableSizeMax?: InputMaybe; - tableSizeMin?: InputMaybe; -}; - export type QueryGetFeedVideosArgs = { after?: InputMaybe; feedInput?: InputMaybe; @@ -2999,11 +3040,6 @@ export type QueryGetMedalsArgs = { userId?: InputMaybe; }; -export type QueryGetMyDrillRunsArgs = { - drillTag: Scalars["String"]["input"]; - limit?: Scalars["Int"]["input"]; -}; - export type QueryGetOrderedShotsArgs = { countRespectsLimit?: Scalars["Boolean"]["input"]; filterInput: FilterInput; @@ -3106,23 +3142,14 @@ export type QueryIsChallengeDismissedArgs = { challengeId: Scalars["ID"]["input"]; }; -export type QueryMyVideoExportsArgs = { - limit?: Scalars["Int"]["input"]; - offset?: Scalars["Int"]["input"]; -}; - export type QueryNotificationsArgs = { filters?: InputMaybe; limit?: Scalars["Int"]["input"]; offset?: Scalars["Int"]["input"]; }; -export type QuerySimulateShotArgs = { - simulationInput: SimulateShotInputGql; -}; - -export type QueryVideoExportJobArgs = { - jobId: Scalars["Int"]["input"]; +export type QueryPoolHallCamerasArgs = { + poolHallId: Scalars["ID"]["input"]; }; export type QueryVideoPlayerClustersArgs = { @@ -3184,13 +3211,6 @@ export enum ReportReasonEnum { Violence = "VIOLENCE", } -export type RequestVideoExportInput = { - mode: VideoExportModeEnum; - runId?: InputMaybe; - shotIds?: InputMaybe>; - videoId: Scalars["Int"]["input"]; -}; - export type RequestedMedalsGql = { __typename?: "RequestedMedalsGQL"; dailyMakes50?: Maybe; @@ -3232,18 +3252,6 @@ export type RequestedMedalsGql = { totalMakes10000?: Maybe; }; -export type ResolvedTierGql = { - __typename?: "ResolvedTierGQL"; - capabilities: Array; - entitlementEndsAt?: Maybe; - entitlementSource?: Maybe; - entitlementStartsAt?: Maybe; - entitlementStatus?: Maybe; - hasActiveSubscription: Scalars["Boolean"]["output"]; - tierDisplayName: Scalars["String"]["output"]; - tierName: Scalars["String"]["output"]; -}; - export type RuleSet = { __typename?: "RuleSet"; createdAt: Scalars["DateTime"]["output"]; @@ -3384,14 +3392,6 @@ export type ShotMoveInput = { shotId: Scalars["Int"]["input"]; }; -export type ShotProjectionGql = { - __typename?: "ShotProjectionGQL"; - events: Array; - finalState: Array; - pottedBallIds: Array; - trajectories: Array; -}; - export type ShotsOrderingComponent = | { difficulty: FloatOrdering; @@ -3442,49 +3442,6 @@ export type ShotsOrderingComponent = videoId: IntOrdering; }; -export type SimulateShotInputGql = { - b64Image?: InputMaybe; - balls?: InputMaybe>; - cueBallId: Scalars["Int"]["input"]; - strike: CueStrikeInputGql; - tableSize?: InputMaybe; - useHomography?: InputMaybe; -}; - -export type SimulationBallStateGql = { - __typename?: "SimulationBallStateGQL"; - ballId: Scalars["Int"]["output"]; - position: Array; -}; - -export type SimulationBallStateInputGql = { - ballId: Scalars["Int"]["input"]; - position: Array; -}; - -export type SimulationEventGql = { - __typename?: "SimulationEventGQL"; - ballIds: Array; - eventType: SimulationEventType; - position?: Maybe>; - time: Scalars["Float"]["output"]; -}; - -export enum SimulationEventType { - BallBall = "BALL_BALL", - BallCushion = "BALL_CUSHION", - BallPocket = "BALL_POCKET", - BallStop = "BALL_STOP", - StickBall = "STICK_BALL", -} - -export type SpinTypeBreakdownGql = { - __typename?: "SpinTypeBreakdownGQL"; - center: Scalars["Int"]["output"]; - draw: Scalars["Int"]["output"]; - follow: Scalars["Int"]["output"]; -}; - export type SpinTypeCountsGql = { __typename?: "SpinTypeCountsGQL"; center: Scalars["Int"]["output"]; @@ -3500,32 +3457,6 @@ export enum SpinTypeEnum { Unknown = "UNKNOWN", } -export type StorageLimitExceededErr = { - __typename?: "StorageLimitExceededErr"; - reason: Scalars["String"]["output"]; - remainingStorageBytes?: Maybe; - retainedStorageLimitBytes?: Maybe; - retainedStorageUsedBytes: Scalars["BigInt"]["output"]; - tierName: Scalars["String"]["output"]; -}; - -export type StorageStatusGql = { - __typename?: "StorageStatusGQL"; - isNearLimit: Scalars["Boolean"]["output"]; - isOverLimit: Scalars["Boolean"]["output"]; - isUnlimited: Scalars["Boolean"]["output"]; - lastCalculatedAt?: Maybe; - policyConfigured: Scalars["Boolean"]["output"]; - remainingStorageBytes?: Maybe; - retainedStorageLimitBytes?: Maybe; - retainedStorageUsedBytes: Scalars["BigInt"]["output"]; - storageUsageRatio?: Maybe; - tierName: Scalars["String"]["output"]; - usageCalculated: Scalars["Boolean"]["output"]; - usageSource?: Maybe; - userId: Scalars["Int"]["output"]; -}; - export type StreamErrorGql = { __typename?: "StreamErrorGQL"; message: Scalars["String"]["output"]; @@ -3558,7 +3489,6 @@ export type StripeProductGql = { export type StripeSubscriptionOptionsGql = { __typename?: "StripeSubscriptionOptionsGQL"; - appleIap: AppleIapSubscriptionOptionsGql; products: Array; trialPeriodDays?: Maybe; }; @@ -3583,27 +3513,6 @@ export type SuccessfulAddAddShotAnnotationErrors = | AddShotAnnotationErrors | SuccessfulAdd; -export type SyncAppleSubscriptionInputGql = { - signedRenewalInfo?: InputMaybe; - signedTransactionInfo: Scalars["String"]["input"]; -}; - -export type SyncAppleSubscriptionResultGql = { - __typename?: "SyncAppleSubscriptionResultGQL"; - appleStatus?: Maybe; - entitlementEndsAt?: Maybe; - entitlementSource?: Maybe; - entitlementStartsAt?: Maybe; - errorCode?: Maybe; - errorMessage?: Maybe; - expiresAt?: Maybe; - hasActiveSubscription: Scalars["Boolean"]["output"]; - latestTransactionId?: Maybe; - ok: Scalars["Boolean"]["output"]; - originalTransactionId?: Maybe; - productId?: Maybe; -}; - export type TableStateGql = { __typename?: "TableStateGQL"; homography?: Maybe; @@ -3654,17 +3563,28 @@ export type TooManyProfileImageUploadsErr = { linksRequested: Scalars["Int"]["output"]; }; -export type TrajectoryPointGql = { - __typename?: "TrajectoryPointGQL"; - position: Array; - time: Scalars["Float"]["output"]; -}; - export type UpdateAnnotationInputGql = { name: Scalars["String"]["input"]; notes?: InputMaybe; }; +export type UpdatePoolHallCameraInput = { + id: Scalars["ID"]["input"]; + name?: InputMaybe; + status?: InputMaybe; + tableLabel?: InputMaybe; +}; + +export type UpdatePoolHallInput = { + address?: InputMaybe; + id: Scalars["ID"]["input"]; + latitude?: InputMaybe; + longitude?: InputMaybe; + name?: InputMaybe; + status?: InputMaybe; + timezone?: InputMaybe; +}; + export type UpdateShotAnnotationReturn = { __typename?: "UpdateShotAnnotationReturn"; error?: Maybe; @@ -3703,7 +3623,6 @@ export type UploadStreamGql = { initPlaylistUploadStatus?: Maybe; isCompleted: Scalars["Boolean"]["output"]; lastIntendedSegmentBound?: Maybe; - lastSegmentUploadedAt?: Maybe; linksRequested: Scalars["Int"]["output"]; lowestUnuploadedSegmentIndex: Scalars["Int"]["output"]; resolution: VideoResolutionGql; @@ -3720,7 +3639,6 @@ export type UserGql = { __typename?: "UserGQL"; activeVideoId?: Maybe; agreesToMarketing?: Maybe; - bio?: Maybe; createdAt?: Maybe; fargoRating?: Maybe; firebaseUid?: Maybe; @@ -3777,37 +3695,6 @@ export type UserSubscriptionStatusGql = { validUntil?: Maybe; }; -export type VideoExportJobGql = { - __typename?: "VideoExportJobGQL"; - createdAt?: Maybe; - downloadUrl?: Maybe; - expiresAt?: Maybe; - fileSizeBytes?: Maybe; - id: Scalars["Int"]["output"]; - mode: VideoExportModeEnum; - runId?: Maybe; - shotIds?: Maybe>; - status: VideoExportStatusEnum; - videoId: Scalars["Int"]["output"]; - videoName?: Maybe; - videoThumbnailUri?: Maybe; -}; - -export enum VideoExportModeEnum { - FullSession = "FULL_SESSION", - Run = "RUN", - Shots = "SHOTS", -} - -export enum VideoExportStatusEnum { - Created = "CREATED", - Expired = "EXPIRED", - Failed = "FAILED", - Queued = "QUEUED", - Running = "RUNNING", - Succeeded = "SUCCEEDED", -} - export type VideoFeedInputGql = | { allUsers: Scalars["Boolean"]["input"]; @@ -3876,7 +3763,6 @@ export type VideoGql = { export type VideoHistoryGql = { __typename?: "VideoHistoryGQL"; - followingCount: Scalars["Int"]["output"]; hasFollowing: Scalars["Boolean"]["output"]; pageInfo: PageInfoGql; videos: Array; @@ -4477,8 +4363,6 @@ export type GetFeedQuery = { id: string; lastIntendedSegmentBound?: number | null; streamSegmentType: StreamSegmentTypeEnum; - isCompleted: boolean; - lastSegmentUploadedAt?: any | null; } | null; tags: Array<{ __typename?: "VideoTag"; @@ -4497,15 +4381,8 @@ export type GetFeedQuery = { makePercentage: number; score?: number | null; longestRun: number; - runLengths: Array; averageDifficulty?: number | null; averageTimeBetweenShots?: number | null; - spinTypeBreakdown: { - __typename?: "SpinTypeBreakdownGQL"; - draw: number; - center: number; - follow: number; - }; }>; currentProcessing?: { __typename?: "VideoProcessingGQL"; @@ -4590,8 +4467,6 @@ export type VideoCardFieldsFragment = { id: string; lastIntendedSegmentBound?: number | null; streamSegmentType: StreamSegmentTypeEnum; - isCompleted: boolean; - lastSegmentUploadedAt?: any | null; } | null; tags: Array<{ __typename?: "VideoTag"; @@ -4610,15 +4485,8 @@ export type VideoCardFieldsFragment = { makePercentage: number; score?: number | null; longestRun: number; - runLengths: Array; averageDifficulty?: number | null; averageTimeBetweenShots?: number | null; - spinTypeBreakdown: { - __typename?: "SpinTypeBreakdownGQL"; - draw: number; - center: number; - follow: number; - }; }>; currentProcessing?: { __typename?: "VideoProcessingGQL"; @@ -4678,24 +4546,6 @@ export type GetVideoFeedSessionCountQuery = { }; }; -export type GetLastSessionDateQueryVariables = Exact<{ - filters?: InputMaybe; - includePrivate?: InputMaybe; - feedInput?: InputMaybe; -}>; - -export type GetLastSessionDateQuery = { - __typename?: "Query"; - getFeedVideos: { - __typename?: "VideoHistoryGQL"; - videos: Array<{ - __typename?: "VideoGQL"; - id: number; - startTime?: any | null; - }>; - }; -}; - export type GetVideoFeedQueryVariables = Exact<{ limit?: Scalars["Int"]["input"]; after?: InputMaybe; @@ -4710,7 +4560,6 @@ export type GetVideoFeedQuery = { getFeedVideos: { __typename?: "VideoHistoryGQL"; hasFollowing: boolean; - followingCount: number; videos: Array<{ __typename?: "VideoGQL"; id: number; @@ -4736,8 +4585,6 @@ export type GetVideoFeedQuery = { id: string; lastIntendedSegmentBound?: number | null; streamSegmentType: StreamSegmentTypeEnum; - isCompleted: boolean; - lastSegmentUploadedAt?: any | null; } | null; tags: Array<{ __typename?: "VideoTag"; @@ -4756,15 +4603,8 @@ export type GetVideoFeedQuery = { makePercentage: number; score?: number | null; longestRun: number; - runLengths: Array; averageDifficulty?: number | null; averageTimeBetweenShots?: number | null; - spinTypeBreakdown: { - __typename?: "SpinTypeBreakdownGQL"; - draw: number; - center: number; - follow: number; - }; }>; currentProcessing?: { __typename?: "VideoProcessingGQL"; @@ -4868,65 +4708,6 @@ export type GetRunsLeaderboardQuery = { }; }; -export type GetDrillRunLeaderboardQueryVariables = Exact<{ - drillTag: Scalars["String"]["input"]; - interval?: InputMaybe; - limit?: InputMaybe; - tableSizeMin?: InputMaybe; - tableSizeMax?: InputMaybe; - pocketSizeMin?: InputMaybe; - pocketSizeMax?: InputMaybe; -}>; - -export type GetDrillRunLeaderboardQuery = { - __typename?: "Query"; - getDrillRunLeaderboard: { - __typename?: "DrillRunLeaderboardGQL"; - youRank?: number | null; - totalPlayers: number; - entries: Array<{ - __typename?: "RunGQL"; - id: number; - runLength: number; - videoId: number; - video: { - __typename?: "VideoGQL"; - tableSize: number; - pocketSize?: number | null; - createdAt?: any | null; - }; - user: { - __typename?: "UserGQL"; - id: number; - username: string; - profileImageUri?: string | null; - }; - }>; - youRun?: { - __typename?: "RunGQL"; - id: number; - runLength: number; - videoId: number; - } | null; - }; -}; - -export type GetMyDrillRunsQueryVariables = Exact<{ - drillTag: Scalars["String"]["input"]; - limit?: InputMaybe; -}>; - -export type GetMyDrillRunsQuery = { - __typename?: "Query"; - getMyDrillRuns: Array<{ - __typename?: "RunGQL"; - id: number; - runLength: number; - videoId: number; - video: { __typename?: "VideoGQL"; createdAt?: any | null }; - }>; -}; - export type GetVideoMakePercentageIntervalsQueryVariables = Exact<{ videoId: Scalars["ID"]["input"]; intervalDuration: Scalars["Int"]["input"]; @@ -5261,12 +5042,6 @@ export type GetAvailableSubscriptionOptionsQuery = { active: boolean; }>; }>; - appleIap: { - __typename?: "AppleIapSubscriptionOptionsGQL"; - enabled: boolean; - proMonthlyProductId?: string | null; - productIds: Array; - }; }; }; @@ -5279,9 +5054,6 @@ export type GetSubscriptionStatusQuery = { getUserSubscriptionStatus: { __typename?: "UserSubscriptionStatusGQL"; hasActiveSubscription: boolean; - entitlementSource?: EntitlementSourceTypeEnum | null; - entitlementStartsAt?: any | null; - entitlementEndsAt?: any | null; subscriptionStatus?: StripeSubscriptionStatusEnum | null; currentPeriodStart?: any | null; currentPeriodEnd?: any | null; @@ -5291,38 +5063,6 @@ export type GetSubscriptionStatusQuery = { }; }; -export type GetAppleAppAccountTokenQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type GetAppleAppAccountTokenQuery = { - __typename?: "Query"; - getAppleAppAccountToken: string; -}; - -export type SyncAppleSubscriptionMutationVariables = Exact<{ - signedTransactionInfo: Scalars["String"]["input"]; -}>; - -export type SyncAppleSubscriptionMutation = { - __typename?: "Mutation"; - syncAppleSubscription: { - __typename?: "SyncAppleSubscriptionResultGQL"; - ok: boolean; - errorCode?: string | null; - errorMessage?: string | null; - hasActiveSubscription: boolean; - entitlementSource?: EntitlementSourceTypeEnum | null; - entitlementStartsAt?: any | null; - entitlementEndsAt?: any | null; - appleStatus?: number | null; - originalTransactionId?: string | null; - latestTransactionId?: string | null; - productId?: string | null; - expiresAt?: any | null; - }; -}; - export type CancelSubscriptionMutationVariables = Exact<{ [key: string]: never; }>; @@ -5332,9 +5072,6 @@ export type CancelSubscriptionMutation = { cancelSubscription: { __typename?: "UserSubscriptionStatusGQL"; hasActiveSubscription: boolean; - entitlementSource?: EntitlementSourceTypeEnum | null; - entitlementStartsAt?: any | null; - entitlementEndsAt?: any | null; subscriptionStatus?: StripeSubscriptionStatusEnum | null; currentPeriodStart?: any | null; currentPeriodEnd?: any | null; @@ -5355,6 +5092,613 @@ export type SubmitCancellationFeedbackMutation = { submitCancellationFeedback: boolean; }; +export type PoolHallFieldsFragment = { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; +}; + +export type PoolHallCameraFieldsFragment = { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; +}; + +export type PoolHallCameraWithHallFieldsFragment = { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; +}; + +export type PoolHallCameraStreamCredentialsFieldsFragment = { + __typename?: "PoolHallCameraStreamCredentials"; + streamKey: string; + rtmpPath: string; + camera: { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }; +}; + +export type CameraClaimSessionFieldsFragment = { + __typename?: "CameraClaimSession"; + id: string; + cameraId: string; + userId: string; + challengeCode: string; + status: string; + expiresAt: any; + detectedAt?: any | null; + failedAt?: any | null; + failureReason?: string | null; + createdAt: any; + updatedAt: any; + camera: { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }; +}; + +export type CameraLeaseFieldsFragment = { + __typename?: "CameraLease"; + id: string; + cameraId: string; + claimSessionId?: string | null; + userId: string; + videoId?: string | null; + status: string; + startedAt: any; + endedAt?: any | null; + expiresAt?: any | null; + endReason?: string | null; + createdAt: any; + updatedAt: any; + camera: { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }; +}; + +export type GetPoolHallsQueryVariables = Exact<{ [key: string]: never }>; + +export type GetPoolHallsQuery = { + __typename?: "Query"; + poolHalls: Array<{ + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }>; +}; + +export type GetClaimablePoolHallsQueryVariables = Exact<{ + [key: string]: never; +}>; + +export type GetClaimablePoolHallsQuery = { + __typename?: "Query"; + claimablePoolHalls: Array<{ + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }>; +}; + +export type GetPoolHallCamerasQueryVariables = Exact<{ + poolHallId: Scalars["ID"]["input"]; +}>; + +export type GetPoolHallCamerasQuery = { + __typename?: "Query"; + poolHallCameras: Array<{ + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }>; +}; + +export type GetClaimableCamerasQueryVariables = Exact<{ + poolHallId: Scalars["ID"]["input"]; +}>; + +export type GetClaimableCamerasQuery = { + __typename?: "Query"; + claimableCameras: Array<{ + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }>; +}; + +export type GetCameraClaimSessionQueryVariables = Exact<{ + id: Scalars["ID"]["input"]; +}>; + +export type GetCameraClaimSessionQuery = { + __typename?: "Query"; + cameraClaimSession?: { + __typename?: "CameraClaimSession"; + id: string; + cameraId: string; + userId: string; + challengeCode: string; + status: string; + expiresAt: any; + detectedAt?: any | null; + failedAt?: any | null; + failureReason?: string | null; + createdAt: any; + updatedAt: any; + camera: { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }; + } | null; +}; + +export type GetActiveCameraLeaseQueryVariables = Exact<{ + [key: string]: never; +}>; + +export type GetActiveCameraLeaseQuery = { + __typename?: "Query"; + activeCameraLease?: { + __typename?: "CameraLease"; + id: string; + cameraId: string; + claimSessionId?: string | null; + userId: string; + videoId?: string | null; + status: string; + startedAt: any; + endedAt?: any | null; + expiresAt?: any | null; + endReason?: string | null; + createdAt: any; + updatedAt: any; + camera: { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }; + } | null; +}; + +export type CreatePoolHallMutationVariables = Exact<{ + input: CreatePoolHallInput; +}>; + +export type CreatePoolHallMutation = { + __typename?: "Mutation"; + createPoolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; +}; + +export type UpdatePoolHallMutationVariables = Exact<{ + input: UpdatePoolHallInput; +}>; + +export type UpdatePoolHallMutation = { + __typename?: "Mutation"; + updatePoolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; +}; + +export type CreatePoolHallCameraMutationVariables = Exact<{ + input: CreatePoolHallCameraInput; +}>; + +export type CreatePoolHallCameraMutation = { + __typename?: "Mutation"; + createPoolHallCamera: { + __typename?: "PoolHallCameraStreamCredentials"; + streamKey: string; + rtmpPath: string; + camera: { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }; + }; +}; + +export type UpdatePoolHallCameraMutationVariables = Exact<{ + input: UpdatePoolHallCameraInput; +}>; + +export type UpdatePoolHallCameraMutation = { + __typename?: "Mutation"; + updatePoolHallCamera: { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }; +}; + +export type RotatePoolHallCameraStreamKeyMutationVariables = Exact<{ + cameraId: Scalars["ID"]["input"]; +}>; + +export type RotatePoolHallCameraStreamKeyMutation = { + __typename?: "Mutation"; + rotatePoolHallCameraStreamKey: { + __typename?: "PoolHallCameraStreamCredentials"; + streamKey: string; + rtmpPath: string; + camera: { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }; + }; +}; + +export type CreateCameraClaimSessionMutationVariables = Exact<{ + cameraId: Scalars["ID"]["input"]; +}>; + +export type CreateCameraClaimSessionMutation = { + __typename?: "Mutation"; + createCameraClaimSession: { + __typename?: "CameraClaimSession"; + id: string; + cameraId: string; + userId: string; + challengeCode: string; + status: string; + expiresAt: any; + detectedAt?: any | null; + failedAt?: any | null; + failureReason?: string | null; + createdAt: any; + updatedAt: any; + camera: { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }; + }; +}; + +export type CancelCameraClaimSessionMutationVariables = Exact<{ + claimSessionId: Scalars["ID"]["input"]; +}>; + +export type CancelCameraClaimSessionMutation = { + __typename?: "Mutation"; + cancelCameraClaimSession: { + __typename?: "CameraClaimSession"; + id: string; + cameraId: string; + userId: string; + challengeCode: string; + status: string; + expiresAt: any; + detectedAt?: any | null; + failedAt?: any | null; + failureReason?: string | null; + createdAt: any; + updatedAt: any; + camera: { + __typename?: "PoolHallCamera"; + id: string; + poolHallId: string; + name: string; + tableLabel?: string | null; + streamPath: string; + status: string; + lastPublishedAt?: any | null; + lastUnpublishedAt?: any | null; + createdAt: any; + updatedAt: any; + poolHall: { + __typename?: "PoolHall"; + id: string; + name: string; + address?: string | null; + latitude?: number | null; + longitude?: number | null; + timezone?: string | null; + status: string; + createdAt: any; + updatedAt: any; + }; + }; + }; +}; + export type ReactToVideoMutationVariables = Exact<{ videoId: Scalars["Int"]["input"]; reaction?: InputMaybe; @@ -5451,15 +5795,8 @@ export type PlayerSummaryFieldsFragment = { makePercentage: number; score?: number | null; longestRun: number; - runLengths: Array; averageDifficulty?: number | null; averageTimeBetweenShots?: number | null; - spinTypeBreakdown: { - __typename?: "SpinTypeBreakdownGQL"; - draw: number; - center: number; - follow: number; - }; }; export type PlayerClusterShotFieldsFragment = { @@ -5561,74 +5898,6 @@ export type FinalizePlayerAssignmentsMutation = { }>; }; -export type GetTableStateQueryVariables = Exact<{ - b64Image: Scalars["String"]["input"]; - tableSize?: InputMaybe; - useHomography?: InputMaybe; -}>; - -export type GetTableStateQuery = { - __typename?: "Query"; - getTableState: { - __typename?: "TableStateGQL"; - identifierToPosition: Array>; - }; -}; - -export type SimulateShotQueryVariables = Exact<{ - simulationInput: SimulateShotInputGql; -}>; - -export type SimulateShotQuery = { - __typename?: "Query"; - simulateShot: { - __typename?: "ShotProjectionGQL"; - pottedBallIds: Array; - trajectories: Array<{ - __typename?: "BallTrajectoryGQL"; - ballId: number; - points: Array<{ - __typename?: "TrajectoryPointGQL"; - time: number; - position: Array; - }>; - }>; - events: Array<{ - __typename?: "SimulationEventGQL"; - eventType: SimulationEventType; - time: number; - ballIds: Array; - position?: Array | null; - }>; - finalState: Array<{ - __typename?: "SimulationBallStateGQL"; - ballId: number; - position: Array; - }>; - }; -}; - -export type ComputePotAimQueryVariables = Exact<{ - simulationInput: SimulateShotInputGql; - targetBallId: Scalars["Int"]["input"]; - pocket: PocketIdentifier; -}>; - -export type ComputePotAimQuery = { - __typename?: "Query"; - computePotAim: { - __typename?: "PotAimGQL"; - phi: number; - geometricPhi: number; - cutAngle: number; - requiredPrecision: number; - feasible: boolean; - potted: boolean; - converged: boolean; - occludingBallIds: Array; - }; -}; - export type GetSerializedShotPathsQueryVariables = Exact<{ filterInput: FilterInput; }>; @@ -5969,39 +6238,6 @@ export type GetShotsByIdsQuery = { }>; }; -export type ShotClipRangeFragment = { - __typename?: "ShotGQL"; - id: number; - videoId: number; - startFrame: number; - endFrame: number; - startTime: number; - endTime: number; -}; - -export type GetShotClipRangesQueryVariables = Exact<{ - filterInput: FilterInput; - shotsOrdering?: InputMaybe; - limit?: InputMaybe; -}>; - -export type GetShotClipRangesQuery = { - __typename?: "Query"; - getOrderedShots: { - __typename?: "GetShotsResult"; - count?: number | null; - shots: Array<{ - __typename?: "ShotGQL"; - id: number; - videoId: number; - startFrame: number; - endFrame: number; - startTime: number; - endTime: number; - }>; - }; -}; - export type ShotWithAllFeaturesFragment = { __typename?: "ShotGQL"; id: number; @@ -6210,7 +6446,6 @@ export type EditProfileImageUriMutation = { username: string; isAdmin?: boolean | null; profileImageUri?: string | null; - bio?: string | null; fargoRating?: number | null; activeVideoId?: number | null; createdAt?: any | null; @@ -6231,7 +6466,6 @@ export type GetLoggedInUserQuery = { username: string; isAdmin?: boolean | null; profileImageUri?: string | null; - bio?: string | null; fargoRating?: number | null; activeVideoId?: number | null; createdAt?: any | null; @@ -6254,7 +6488,6 @@ export type GetUserQuery = { username: string; isAdmin?: boolean | null; profileImageUri?: string | null; - bio?: string | null; fargoRating?: number | null; activeVideoId?: number | null; createdAt?: any | null; @@ -6276,47 +6509,6 @@ export type GetUserPlayTimeQuery = { getPlayTime: { __typename?: "UserPlayTimeGQL"; totalSeconds: number }; }; -export type GetUploadQuotaStatusQueryVariables = Exact<{ - [key: string]: never; -}>; - -export type GetUploadQuotaStatusQuery = { - __typename?: "Query"; - getQuotaStatus: { - __typename?: "QuotaStatusGQL"; - tierName: string; - periodStart: any; - periodEnd: any; - durationUsedSeconds: number; - durationLimitSeconds?: number | null; - maxVideoDurationSeconds?: number | null; - durationRemainingSeconds?: number | null; - canUpload: boolean; - importQuotaBuckets: Array<{ - __typename?: "QuotaBucketStatusGQL"; - quotaKey: string; - appliesToUploadKind: string; - periodStart: any; - periodEnd: any; - durationUsedSeconds: number; - durationLimitSeconds?: number | null; - durationRemainingSeconds?: number | null; - canUpload: boolean; - }>; - recordingQuotaBuckets: Array<{ - __typename?: "QuotaBucketStatusGQL"; - quotaKey: string; - appliesToUploadKind: string; - periodStart: any; - periodEnd: any; - durationUsedSeconds: number; - durationLimitSeconds?: number | null; - durationRemainingSeconds?: number | null; - canUpload: boolean; - }>; - }; -}; - export type GetUsernamesQueryVariables = Exact<{ matchString: Scalars["String"]["input"]; limit?: InputMaybe; @@ -6444,7 +6636,6 @@ export type EditUserMutationVariables = Exact<{ fargoRating?: InputMaybe; videosPrivateByDefault?: InputMaybe; agreesToMarketing?: InputMaybe; - bio?: InputMaybe; }>; export type EditUserMutation = { @@ -6458,7 +6649,6 @@ export type EditUserMutation = { updatedAt?: any | null; videosPrivateByDefault?: boolean | null; agreesToMarketing?: boolean | null; - bio?: string | null; }; }; @@ -6476,7 +6666,6 @@ export type UserFragmentFragment = { username: string; isAdmin?: boolean | null; profileImageUri?: string | null; - bio?: string | null; fargoRating?: number | null; activeVideoId?: number | null; createdAt?: any | null; @@ -6500,7 +6689,6 @@ export type GetUsersMatchingQuery = { username: string; isAdmin?: boolean | null; profileImageUri?: string | null; - bio?: string | null; fargoRating?: number | null; activeVideoId?: number | null; createdAt?: any | null; @@ -6658,15 +6846,8 @@ export type GetVideoDetailsQuery = { makePercentage: number; score?: number | null; longestRun: number; - runLengths: Array; averageDifficulty?: number | null; averageTimeBetweenShots?: number | null; - spinTypeBreakdown: { - __typename?: "SpinTypeBreakdownGQL"; - draw: number; - center: number; - follow: number; - }; }>; }; }; @@ -6735,111 +6916,6 @@ export type GetVideoSocialDetailsByIdQuery = { }; }; -export type GetVideoCardQueryVariables = Exact<{ - videoId: Scalars["Int"]["input"]; -}>; - -export type GetVideoCardQuery = { - __typename?: "Query"; - getVideo: { - __typename?: "VideoGQL"; - id: number; - name?: string | null; - screenshotUri?: string | null; - totalShots: number; - makePercentage: number; - averageTimeBetweenShots?: number | null; - averageDifficulty?: number | null; - startTime?: any | null; - private: boolean; - elapsedTime?: number | null; - tableSize: number; - pocketSize?: number | null; - owner?: { - __typename?: "UserGQL"; - id: number; - username: string; - profileImageUri?: string | null; - } | null; - stream?: { - __typename?: "UploadStreamGQL"; - id: string; - lastIntendedSegmentBound?: number | null; - streamSegmentType: StreamSegmentTypeEnum; - isCompleted: boolean; - lastSegmentUploadedAt?: any | null; - } | null; - tags: Array<{ - __typename?: "VideoTag"; - name: string; - tagClasses: Array<{ __typename?: "VideoTagClass"; name: string }>; - }>; - playerSummaries: Array<{ - __typename?: "PlayerSummaryGQL"; - clusterId: number; - userId?: number | null; - username?: string | null; - profileImageUri?: string | null; - representativeFullFrameUrl?: string | null; - totalShots: number; - totalShotsMade: number; - makePercentage: number; - score?: number | null; - longestRun: number; - runLengths: Array; - averageDifficulty?: number | null; - averageTimeBetweenShots?: number | null; - spinTypeBreakdown: { - __typename?: "SpinTypeBreakdownGQL"; - draw: number; - center: number; - follow: number; - }; - }>; - currentProcessing?: { - __typename?: "VideoProcessingGQL"; - id: number; - status: ProcessingStatusEnum; - } | null; - reactions: Array<{ - __typename?: "ReactionGQL"; - videoId: number; - reaction: ReactionEnum; - user: { - __typename?: "UserGQL"; - id: number; - username: string; - profileImageUri?: string | null; - isFollowedByCurrentUser?: boolean | null; - }; - }>; - comments: Array<{ - __typename?: "CommentGQL"; - id: number; - message: string; - user: { - __typename?: "UserGQL"; - id: number; - username: string; - profileImageUri?: string | null; - isFollowedByCurrentUser?: boolean | null; - }; - replies: Array<{ - __typename?: "CommentGQL"; - id: number; - message: string; - user: { - __typename?: "UserGQL"; - id: number; - username: string; - profileImageUri?: string | null; - isFollowedByCurrentUser?: boolean | null; - }; - }>; - }>; - }; -}; - export type GetVideosQueryVariables = Exact<{ videoIds: Array | Scalars["Int"]["input"]; }>; @@ -7243,101 +7319,6 @@ export type HomographyInfoFragment = { }; }; -export type VideoExportJobFieldsFragment = { - __typename?: "VideoExportJobGQL"; - id: number; - videoId: number; - mode: VideoExportModeEnum; - status: VideoExportStatusEnum; - videoName?: string | null; - videoThumbnailUri?: string | null; - shotIds?: Array | null; - runId?: number | null; - downloadUrl?: string | null; - fileSizeBytes?: number | null; - expiresAt?: any | null; - createdAt?: any | null; -}; - -export type RequestVideoExportMutationVariables = Exact<{ - input: RequestVideoExportInput; -}>; - -export type RequestVideoExportMutation = { - __typename?: "Mutation"; - requestVideoExport: { - __typename?: "VideoExportJobGQL"; - id: number; - videoId: number; - mode: VideoExportModeEnum; - status: VideoExportStatusEnum; - videoName?: string | null; - videoThumbnailUri?: string | null; - shotIds?: Array | null; - runId?: number | null; - downloadUrl?: string | null; - fileSizeBytes?: number | null; - expiresAt?: any | null; - createdAt?: any | null; - }; -}; - -export type DismissVideoExportMutationVariables = Exact<{ - jobId: Scalars["Int"]["input"]; -}>; - -export type DismissVideoExportMutation = { - __typename?: "Mutation"; - dismissVideoExport: boolean; -}; - -export type VideoExportJobQueryVariables = Exact<{ - jobId: Scalars["Int"]["input"]; -}>; - -export type VideoExportJobQuery = { - __typename?: "Query"; - videoExportJob?: { - __typename?: "VideoExportJobGQL"; - id: number; - videoId: number; - mode: VideoExportModeEnum; - status: VideoExportStatusEnum; - videoName?: string | null; - videoThumbnailUri?: string | null; - shotIds?: Array | null; - runId?: number | null; - downloadUrl?: string | null; - fileSizeBytes?: number | null; - expiresAt?: any | null; - createdAt?: any | null; - } | null; -}; - -export type MyVideoExportsQueryVariables = Exact<{ - limit?: InputMaybe; - offset?: InputMaybe; -}>; - -export type MyVideoExportsQuery = { - __typename?: "Query"; - myVideoExports: Array<{ - __typename?: "VideoExportJobGQL"; - id: number; - videoId: number; - mode: VideoExportModeEnum; - status: VideoExportStatusEnum; - videoName?: string | null; - videoThumbnailUri?: string | null; - shotIds?: Array | null; - runId?: number | null; - downloadUrl?: string | null; - fileSizeBytes?: number | null; - expiresAt?: any | null; - createdAt?: any | null; - }>; -}; - export type CreateUploadStreamMutationVariables = Exact<{ videoMetadataInput: VideoMetadataInput; expectedDurationSeconds?: InputMaybe; @@ -7383,7 +7364,6 @@ export type GetUploadLinkMutation = { }; } | { __typename?: "SegmentAlreadyUploadedErr"; segmentId: number } - | { __typename?: "StorageLimitExceededErr" } | { __typename?: "TooManyInitUploadsErr" } | { __typename?: "TooManyProfileImageUploadsErr" }; } @@ -7426,14 +7406,6 @@ export type GetHlsInitUploadLinkMutation = { } | { __typename?: "ProcessingFailedErr" } | { __typename?: "SegmentAlreadyUploadedErr" } - | { - __typename?: "StorageLimitExceededErr"; - reason: string; - tierName: string; - retainedStorageUsedBytes: any; - retainedStorageLimitBytes?: any | null; - remainingStorageBytes?: any | null; - } | { __typename?: "TooManyInitUploadsErr"; linksRequested: number } | { __typename?: "TooManyProfileImageUploadsErr" }; } @@ -7546,12 +7518,6 @@ export const PlayerSummaryFieldsFragmentDoc = gql` makePercentage score longestRun - runLengths - spinTypeBreakdown { - draw - center - follow - } averageDifficulty averageTimeBetweenShots } @@ -7585,8 +7551,6 @@ export const VideoCardFieldsFragmentDoc = gql` id lastIntendedSegmentBound streamSegmentType - isCompleted - lastSegmentUploadedAt } tableSize pocketSize @@ -7664,6 +7628,92 @@ export const NotificationFragmentDoc = gql` readAt } `; +export const PoolHallCameraFieldsFragmentDoc = gql` + fragment PoolHallCameraFields on PoolHallCamera { + id + poolHallId + name + tableLabel + streamPath + status + lastPublishedAt + lastUnpublishedAt + createdAt + updatedAt + } +`; +export const PoolHallFieldsFragmentDoc = gql` + fragment PoolHallFields on PoolHall { + id + name + address + latitude + longitude + timezone + status + createdAt + updatedAt + } +`; +export const PoolHallCameraWithHallFieldsFragmentDoc = gql` + fragment PoolHallCameraWithHallFields on PoolHallCamera { + ...PoolHallCameraFields + poolHall { + ...PoolHallFields + } + } + ${PoolHallCameraFieldsFragmentDoc} + ${PoolHallFieldsFragmentDoc} +`; +export const PoolHallCameraStreamCredentialsFieldsFragmentDoc = gql` + fragment PoolHallCameraStreamCredentialsFields on PoolHallCameraStreamCredentials { + streamKey + rtmpPath + camera { + ...PoolHallCameraWithHallFields + } + } + ${PoolHallCameraWithHallFieldsFragmentDoc} +`; +export const CameraClaimSessionFieldsFragmentDoc = gql` + fragment CameraClaimSessionFields on CameraClaimSession { + id + cameraId + userId + challengeCode + status + expiresAt + detectedAt + failedAt + failureReason + createdAt + updatedAt + camera { + ...PoolHallCameraWithHallFields + } + } + ${PoolHallCameraWithHallFieldsFragmentDoc} +`; +export const CameraLeaseFieldsFragmentDoc = gql` + fragment CameraLeaseFields on CameraLease { + id + cameraId + claimSessionId + userId + videoId + status + startedAt + endedAt + expiresAt + endReason + createdAt + updatedAt + camera { + ...PoolHallCameraWithHallFields + } + } + ${PoolHallCameraWithHallFieldsFragmentDoc} +`; export const PocketingIntentionFragmentFragmentDoc = gql` fragment PocketingIntentionFragment on PocketingIntentionFeaturesGQL { make @@ -7704,16 +7754,6 @@ export const PlayerClusterFieldsFragmentDoc = gql` } ${PlayerClusterShotFieldsFragmentDoc} `; -export const ShotClipRangeFragmentDoc = gql` - fragment ShotClipRange on ShotGQL { - id - videoId - startFrame - endFrame - startTime @client - endTime @client - } -`; export const ShotWithAllFeaturesFragmentDoc = gql` fragment ShotWithAllFeatures on ShotGQL { id @@ -7788,7 +7828,6 @@ export const UserFragmentFragmentDoc = gql` username isAdmin profileImageUri - bio fargoRating activeVideoId createdAt @@ -7912,22 +7951,6 @@ export const HomographyInfoFragmentDoc = gql` } } `; -export const VideoExportJobFieldsFragmentDoc = gql` - fragment VideoExportJobFields on VideoExportJobGQL { - id - videoId - mode - status - videoName - videoThumbnailUri - shotIds - runId - downloadUrl - fileSizeBytes - expiresAt - createdAt - } -`; export const UploadStreamWithDetailsFragmentDoc = gql` fragment UploadStreamWithDetails on VideoGQL { id @@ -9816,93 +9839,6 @@ export type GetVideoFeedSessionCountQueryResult = Apollo.QueryResult< GetVideoFeedSessionCountQuery, GetVideoFeedSessionCountQueryVariables >; -export const GetLastSessionDateDocument = gql` - query GetLastSessionDate( - $filters: VideoFilterInput = null - $includePrivate: IncludePrivateEnum = MINE - $feedInput: VideoFeedInputGQL = null - ) { - getFeedVideos( - limit: 1 - filters: $filters - includePrivate: $includePrivate - feedInput: $feedInput - ) { - videos { - id - startTime - } - } - } -`; - -/** - * __useGetLastSessionDateQuery__ - * - * To run a query within a React component, call `useGetLastSessionDateQuery` and pass it any options that fit your needs. - * When your component renders, `useGetLastSessionDateQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useGetLastSessionDateQuery({ - * variables: { - * filters: // value for 'filters' - * includePrivate: // value for 'includePrivate' - * feedInput: // value for 'feedInput' - * }, - * }); - */ -export function useGetLastSessionDateQuery( - baseOptions?: Apollo.QueryHookOptions< - GetLastSessionDateQuery, - GetLastSessionDateQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery< - GetLastSessionDateQuery, - GetLastSessionDateQueryVariables - >(GetLastSessionDateDocument, options); -} -export function useGetLastSessionDateLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - GetLastSessionDateQuery, - GetLastSessionDateQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery< - GetLastSessionDateQuery, - GetLastSessionDateQueryVariables - >(GetLastSessionDateDocument, options); -} -export function useGetLastSessionDateSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - GetLastSessionDateQuery, - GetLastSessionDateQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery< - GetLastSessionDateQuery, - GetLastSessionDateQueryVariables - >(GetLastSessionDateDocument, options); -} -export type GetLastSessionDateQueryHookResult = ReturnType< - typeof useGetLastSessionDateQuery ->; -export type GetLastSessionDateLazyQueryHookResult = ReturnType< - typeof useGetLastSessionDateLazyQuery ->; -export type GetLastSessionDateSuspenseQueryHookResult = ReturnType< - typeof useGetLastSessionDateSuspenseQuery ->; -export type GetLastSessionDateQueryResult = Apollo.QueryResult< - GetLastSessionDateQuery, - GetLastSessionDateQueryVariables ->; export const GetVideoFeedDocument = gql` query GetVideoFeed( $limit: Int! = 5 @@ -9928,7 +9864,6 @@ export const GetVideoFeedDocument = gql` endCursor } hasFollowing - followingCount } } ${VideoCardFieldsFragmentDoc} @@ -10173,201 +10108,6 @@ export type GetRunsLeaderboardQueryResult = Apollo.QueryResult< GetRunsLeaderboardQuery, GetRunsLeaderboardQueryVariables >; -export const GetDrillRunLeaderboardDocument = gql` - query GetDrillRunLeaderboard( - $drillTag: String! - $interval: TimeInterval - $limit: Int = 50 - $tableSizeMin: Float - $tableSizeMax: Float - $pocketSizeMin: Float - $pocketSizeMax: Float - ) { - getDrillRunLeaderboard( - drillTag: $drillTag - interval: $interval - limit: $limit - tableSizeMin: $tableSizeMin - tableSizeMax: $tableSizeMax - pocketSizeMin: $pocketSizeMin - pocketSizeMax: $pocketSizeMax - ) { - entries { - id - runLength - videoId - video { - tableSize - pocketSize - createdAt - } - user { - id - username - profileImageUri - } - } - youRun { - id - runLength - videoId - } - youRank - totalPlayers - } - } -`; - -/** - * __useGetDrillRunLeaderboardQuery__ - * - * To run a query within a React component, call `useGetDrillRunLeaderboardQuery` and pass it any options that fit your needs. - * When your component renders, `useGetDrillRunLeaderboardQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useGetDrillRunLeaderboardQuery({ - * variables: { - * drillTag: // value for 'drillTag' - * interval: // value for 'interval' - * limit: // value for 'limit' - * tableSizeMin: // value for 'tableSizeMin' - * tableSizeMax: // value for 'tableSizeMax' - * pocketSizeMin: // value for 'pocketSizeMin' - * pocketSizeMax: // value for 'pocketSizeMax' - * }, - * }); - */ -export function useGetDrillRunLeaderboardQuery( - baseOptions: Apollo.QueryHookOptions< - GetDrillRunLeaderboardQuery, - GetDrillRunLeaderboardQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery< - GetDrillRunLeaderboardQuery, - GetDrillRunLeaderboardQueryVariables - >(GetDrillRunLeaderboardDocument, options); -} -export function useGetDrillRunLeaderboardLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - GetDrillRunLeaderboardQuery, - GetDrillRunLeaderboardQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery< - GetDrillRunLeaderboardQuery, - GetDrillRunLeaderboardQueryVariables - >(GetDrillRunLeaderboardDocument, options); -} -export function useGetDrillRunLeaderboardSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - GetDrillRunLeaderboardQuery, - GetDrillRunLeaderboardQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery< - GetDrillRunLeaderboardQuery, - GetDrillRunLeaderboardQueryVariables - >(GetDrillRunLeaderboardDocument, options); -} -export type GetDrillRunLeaderboardQueryHookResult = ReturnType< - typeof useGetDrillRunLeaderboardQuery ->; -export type GetDrillRunLeaderboardLazyQueryHookResult = ReturnType< - typeof useGetDrillRunLeaderboardLazyQuery ->; -export type GetDrillRunLeaderboardSuspenseQueryHookResult = ReturnType< - typeof useGetDrillRunLeaderboardSuspenseQuery ->; -export type GetDrillRunLeaderboardQueryResult = Apollo.QueryResult< - GetDrillRunLeaderboardQuery, - GetDrillRunLeaderboardQueryVariables ->; -export const GetMyDrillRunsDocument = gql` - query GetMyDrillRuns($drillTag: String!, $limit: Int = 50) { - getMyDrillRuns(drillTag: $drillTag, limit: $limit) { - id - runLength - videoId - video { - createdAt - } - } - } -`; - -/** - * __useGetMyDrillRunsQuery__ - * - * To run a query within a React component, call `useGetMyDrillRunsQuery` and pass it any options that fit your needs. - * When your component renders, `useGetMyDrillRunsQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useGetMyDrillRunsQuery({ - * variables: { - * drillTag: // value for 'drillTag' - * limit: // value for 'limit' - * }, - * }); - */ -export function useGetMyDrillRunsQuery( - baseOptions: Apollo.QueryHookOptions< - GetMyDrillRunsQuery, - GetMyDrillRunsQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery( - GetMyDrillRunsDocument, - options, - ); -} -export function useGetMyDrillRunsLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - GetMyDrillRunsQuery, - GetMyDrillRunsQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery( - GetMyDrillRunsDocument, - options, - ); -} -export function useGetMyDrillRunsSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - GetMyDrillRunsQuery, - GetMyDrillRunsQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery< - GetMyDrillRunsQuery, - GetMyDrillRunsQueryVariables - >(GetMyDrillRunsDocument, options); -} -export type GetMyDrillRunsQueryHookResult = ReturnType< - typeof useGetMyDrillRunsQuery ->; -export type GetMyDrillRunsLazyQueryHookResult = ReturnType< - typeof useGetMyDrillRunsLazyQuery ->; -export type GetMyDrillRunsSuspenseQueryHookResult = ReturnType< - typeof useGetMyDrillRunsSuspenseQuery ->; -export type GetMyDrillRunsQueryResult = Apollo.QueryResult< - GetMyDrillRunsQuery, - GetMyDrillRunsQueryVariables ->; export const GetVideoMakePercentageIntervalsDocument = gql` query GetVideoMakePercentageIntervals( $videoId: ID! @@ -11110,11 +10850,6 @@ export const GetAvailableSubscriptionOptionsDocument = gql` active } } - appleIap { - enabled - proMonthlyProductId - productIds - } } } `; @@ -11187,9 +10922,6 @@ export const GetSubscriptionStatusDocument = gql` query GetSubscriptionStatus { getUserSubscriptionStatus { hasActiveSubscription - entitlementSource - entitlementStartsAt - entitlementEndsAt subscriptionStatus currentPeriodStart currentPeriodEnd @@ -11264,146 +10996,10 @@ export type GetSubscriptionStatusQueryResult = Apollo.QueryResult< GetSubscriptionStatusQuery, GetSubscriptionStatusQueryVariables >; -export const GetAppleAppAccountTokenDocument = gql` - query GetAppleAppAccountToken { - getAppleAppAccountToken - } -`; - -/** - * __useGetAppleAppAccountTokenQuery__ - * - * To run a query within a React component, call `useGetAppleAppAccountTokenQuery` and pass it any options that fit your needs. - * When your component renders, `useGetAppleAppAccountTokenQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useGetAppleAppAccountTokenQuery({ - * variables: { - * }, - * }); - */ -export function useGetAppleAppAccountTokenQuery( - baseOptions?: Apollo.QueryHookOptions< - GetAppleAppAccountTokenQuery, - GetAppleAppAccountTokenQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery< - GetAppleAppAccountTokenQuery, - GetAppleAppAccountTokenQueryVariables - >(GetAppleAppAccountTokenDocument, options); -} -export function useGetAppleAppAccountTokenLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - GetAppleAppAccountTokenQuery, - GetAppleAppAccountTokenQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery< - GetAppleAppAccountTokenQuery, - GetAppleAppAccountTokenQueryVariables - >(GetAppleAppAccountTokenDocument, options); -} -export function useGetAppleAppAccountTokenSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - GetAppleAppAccountTokenQuery, - GetAppleAppAccountTokenQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery< - GetAppleAppAccountTokenQuery, - GetAppleAppAccountTokenQueryVariables - >(GetAppleAppAccountTokenDocument, options); -} -export type GetAppleAppAccountTokenQueryHookResult = ReturnType< - typeof useGetAppleAppAccountTokenQuery ->; -export type GetAppleAppAccountTokenLazyQueryHookResult = ReturnType< - typeof useGetAppleAppAccountTokenLazyQuery ->; -export type GetAppleAppAccountTokenSuspenseQueryHookResult = ReturnType< - typeof useGetAppleAppAccountTokenSuspenseQuery ->; -export type GetAppleAppAccountTokenQueryResult = Apollo.QueryResult< - GetAppleAppAccountTokenQuery, - GetAppleAppAccountTokenQueryVariables ->; -export const SyncAppleSubscriptionDocument = gql` - mutation SyncAppleSubscription($signedTransactionInfo: String!) { - syncAppleSubscription( - input: { signedTransactionInfo: $signedTransactionInfo } - ) { - ok - errorCode - errorMessage - hasActiveSubscription - entitlementSource - entitlementStartsAt - entitlementEndsAt - appleStatus - originalTransactionId - latestTransactionId - productId - expiresAt - } - } -`; -export type SyncAppleSubscriptionMutationFn = Apollo.MutationFunction< - SyncAppleSubscriptionMutation, - SyncAppleSubscriptionMutationVariables ->; - -/** - * __useSyncAppleSubscriptionMutation__ - * - * To run a mutation, you first call `useSyncAppleSubscriptionMutation` within a React component and pass it any options that fit your needs. - * When your component renders, `useSyncAppleSubscriptionMutation` returns a tuple that includes: - * - A mutate function that you can call at any time to execute the mutation - * - An object with fields that represent the current status of the mutation's execution - * - * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; - * - * @example - * const [syncAppleSubscriptionMutation, { data, loading, error }] = useSyncAppleSubscriptionMutation({ - * variables: { - * signedTransactionInfo: // value for 'signedTransactionInfo' - * }, - * }); - */ -export function useSyncAppleSubscriptionMutation( - baseOptions?: Apollo.MutationHookOptions< - SyncAppleSubscriptionMutation, - SyncAppleSubscriptionMutationVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useMutation< - SyncAppleSubscriptionMutation, - SyncAppleSubscriptionMutationVariables - >(SyncAppleSubscriptionDocument, options); -} -export type SyncAppleSubscriptionMutationHookResult = ReturnType< - typeof useSyncAppleSubscriptionMutation ->; -export type SyncAppleSubscriptionMutationResult = - Apollo.MutationResult; -export type SyncAppleSubscriptionMutationOptions = Apollo.BaseMutationOptions< - SyncAppleSubscriptionMutation, - SyncAppleSubscriptionMutationVariables ->; export const CancelSubscriptionDocument = gql` mutation CancelSubscription { cancelSubscription { hasActiveSubscription - entitlementSource - entitlementStartsAt - entitlementEndsAt subscriptionStatus currentPeriodStart currentPeriodEnd @@ -11514,6 +11110,807 @@ export type SubmitCancellationFeedbackMutationOptions = SubmitCancellationFeedbackMutation, SubmitCancellationFeedbackMutationVariables >; +export const GetPoolHallsDocument = gql` + query GetPoolHalls { + poolHalls { + ...PoolHallFields + } + } + ${PoolHallFieldsFragmentDoc} +`; + +/** + * __useGetPoolHallsQuery__ + * + * To run a query within a React component, call `useGetPoolHallsQuery` and pass it any options that fit your needs. + * When your component renders, `useGetPoolHallsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useGetPoolHallsQuery({ + * variables: { + * }, + * }); + */ +export function useGetPoolHallsQuery( + baseOptions?: Apollo.QueryHookOptions< + GetPoolHallsQuery, + GetPoolHallsQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useQuery( + GetPoolHallsDocument, + options, + ); +} +export function useGetPoolHallsLazyQuery( + baseOptions?: Apollo.LazyQueryHookOptions< + GetPoolHallsQuery, + GetPoolHallsQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useLazyQuery( + GetPoolHallsDocument, + options, + ); +} +export function useGetPoolHallsSuspenseQuery( + baseOptions?: Apollo.SuspenseQueryHookOptions< + GetPoolHallsQuery, + GetPoolHallsQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useSuspenseQuery( + GetPoolHallsDocument, + options, + ); +} +export type GetPoolHallsQueryHookResult = ReturnType< + typeof useGetPoolHallsQuery +>; +export type GetPoolHallsLazyQueryHookResult = ReturnType< + typeof useGetPoolHallsLazyQuery +>; +export type GetPoolHallsSuspenseQueryHookResult = ReturnType< + typeof useGetPoolHallsSuspenseQuery +>; +export type GetPoolHallsQueryResult = Apollo.QueryResult< + GetPoolHallsQuery, + GetPoolHallsQueryVariables +>; +export const GetClaimablePoolHallsDocument = gql` + query GetClaimablePoolHalls { + claimablePoolHalls { + ...PoolHallFields + } + } + ${PoolHallFieldsFragmentDoc} +`; + +/** + * __useGetClaimablePoolHallsQuery__ + * + * To run a query within a React component, call `useGetClaimablePoolHallsQuery` and pass it any options that fit your needs. + * When your component renders, `useGetClaimablePoolHallsQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useGetClaimablePoolHallsQuery({ + * variables: { + * }, + * }); + */ +export function useGetClaimablePoolHallsQuery( + baseOptions?: Apollo.QueryHookOptions< + GetClaimablePoolHallsQuery, + GetClaimablePoolHallsQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useQuery< + GetClaimablePoolHallsQuery, + GetClaimablePoolHallsQueryVariables + >(GetClaimablePoolHallsDocument, options); +} +export function useGetClaimablePoolHallsLazyQuery( + baseOptions?: Apollo.LazyQueryHookOptions< + GetClaimablePoolHallsQuery, + GetClaimablePoolHallsQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useLazyQuery< + GetClaimablePoolHallsQuery, + GetClaimablePoolHallsQueryVariables + >(GetClaimablePoolHallsDocument, options); +} +export function useGetClaimablePoolHallsSuspenseQuery( + baseOptions?: Apollo.SuspenseQueryHookOptions< + GetClaimablePoolHallsQuery, + GetClaimablePoolHallsQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useSuspenseQuery< + GetClaimablePoolHallsQuery, + GetClaimablePoolHallsQueryVariables + >(GetClaimablePoolHallsDocument, options); +} +export type GetClaimablePoolHallsQueryHookResult = ReturnType< + typeof useGetClaimablePoolHallsQuery +>; +export type GetClaimablePoolHallsLazyQueryHookResult = ReturnType< + typeof useGetClaimablePoolHallsLazyQuery +>; +export type GetClaimablePoolHallsSuspenseQueryHookResult = ReturnType< + typeof useGetClaimablePoolHallsSuspenseQuery +>; +export type GetClaimablePoolHallsQueryResult = Apollo.QueryResult< + GetClaimablePoolHallsQuery, + GetClaimablePoolHallsQueryVariables +>; +export const GetPoolHallCamerasDocument = gql` + query GetPoolHallCameras($poolHallId: ID!) { + poolHallCameras(poolHallId: $poolHallId) { + ...PoolHallCameraWithHallFields + } + } + ${PoolHallCameraWithHallFieldsFragmentDoc} +`; + +/** + * __useGetPoolHallCamerasQuery__ + * + * To run a query within a React component, call `useGetPoolHallCamerasQuery` and pass it any options that fit your needs. + * When your component renders, `useGetPoolHallCamerasQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useGetPoolHallCamerasQuery({ + * variables: { + * poolHallId: // value for 'poolHallId' + * }, + * }); + */ +export function useGetPoolHallCamerasQuery( + baseOptions: Apollo.QueryHookOptions< + GetPoolHallCamerasQuery, + GetPoolHallCamerasQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useQuery< + GetPoolHallCamerasQuery, + GetPoolHallCamerasQueryVariables + >(GetPoolHallCamerasDocument, options); +} +export function useGetPoolHallCamerasLazyQuery( + baseOptions?: Apollo.LazyQueryHookOptions< + GetPoolHallCamerasQuery, + GetPoolHallCamerasQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useLazyQuery< + GetPoolHallCamerasQuery, + GetPoolHallCamerasQueryVariables + >(GetPoolHallCamerasDocument, options); +} +export function useGetPoolHallCamerasSuspenseQuery( + baseOptions?: Apollo.SuspenseQueryHookOptions< + GetPoolHallCamerasQuery, + GetPoolHallCamerasQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useSuspenseQuery< + GetPoolHallCamerasQuery, + GetPoolHallCamerasQueryVariables + >(GetPoolHallCamerasDocument, options); +} +export type GetPoolHallCamerasQueryHookResult = ReturnType< + typeof useGetPoolHallCamerasQuery +>; +export type GetPoolHallCamerasLazyQueryHookResult = ReturnType< + typeof useGetPoolHallCamerasLazyQuery +>; +export type GetPoolHallCamerasSuspenseQueryHookResult = ReturnType< + typeof useGetPoolHallCamerasSuspenseQuery +>; +export type GetPoolHallCamerasQueryResult = Apollo.QueryResult< + GetPoolHallCamerasQuery, + GetPoolHallCamerasQueryVariables +>; +export const GetClaimableCamerasDocument = gql` + query GetClaimableCameras($poolHallId: ID!) { + claimableCameras(poolHallId: $poolHallId) { + ...PoolHallCameraWithHallFields + } + } + ${PoolHallCameraWithHallFieldsFragmentDoc} +`; + +/** + * __useGetClaimableCamerasQuery__ + * + * To run a query within a React component, call `useGetClaimableCamerasQuery` and pass it any options that fit your needs. + * When your component renders, `useGetClaimableCamerasQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useGetClaimableCamerasQuery({ + * variables: { + * poolHallId: // value for 'poolHallId' + * }, + * }); + */ +export function useGetClaimableCamerasQuery( + baseOptions: Apollo.QueryHookOptions< + GetClaimableCamerasQuery, + GetClaimableCamerasQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useQuery< + GetClaimableCamerasQuery, + GetClaimableCamerasQueryVariables + >(GetClaimableCamerasDocument, options); +} +export function useGetClaimableCamerasLazyQuery( + baseOptions?: Apollo.LazyQueryHookOptions< + GetClaimableCamerasQuery, + GetClaimableCamerasQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useLazyQuery< + GetClaimableCamerasQuery, + GetClaimableCamerasQueryVariables + >(GetClaimableCamerasDocument, options); +} +export function useGetClaimableCamerasSuspenseQuery( + baseOptions?: Apollo.SuspenseQueryHookOptions< + GetClaimableCamerasQuery, + GetClaimableCamerasQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useSuspenseQuery< + GetClaimableCamerasQuery, + GetClaimableCamerasQueryVariables + >(GetClaimableCamerasDocument, options); +} +export type GetClaimableCamerasQueryHookResult = ReturnType< + typeof useGetClaimableCamerasQuery +>; +export type GetClaimableCamerasLazyQueryHookResult = ReturnType< + typeof useGetClaimableCamerasLazyQuery +>; +export type GetClaimableCamerasSuspenseQueryHookResult = ReturnType< + typeof useGetClaimableCamerasSuspenseQuery +>; +export type GetClaimableCamerasQueryResult = Apollo.QueryResult< + GetClaimableCamerasQuery, + GetClaimableCamerasQueryVariables +>; +export const GetCameraClaimSessionDocument = gql` + query GetCameraClaimSession($id: ID!) { + cameraClaimSession(id: $id) { + ...CameraClaimSessionFields + } + } + ${CameraClaimSessionFieldsFragmentDoc} +`; + +/** + * __useGetCameraClaimSessionQuery__ + * + * To run a query within a React component, call `useGetCameraClaimSessionQuery` and pass it any options that fit your needs. + * When your component renders, `useGetCameraClaimSessionQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useGetCameraClaimSessionQuery({ + * variables: { + * id: // value for 'id' + * }, + * }); + */ +export function useGetCameraClaimSessionQuery( + baseOptions: Apollo.QueryHookOptions< + GetCameraClaimSessionQuery, + GetCameraClaimSessionQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useQuery< + GetCameraClaimSessionQuery, + GetCameraClaimSessionQueryVariables + >(GetCameraClaimSessionDocument, options); +} +export function useGetCameraClaimSessionLazyQuery( + baseOptions?: Apollo.LazyQueryHookOptions< + GetCameraClaimSessionQuery, + GetCameraClaimSessionQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useLazyQuery< + GetCameraClaimSessionQuery, + GetCameraClaimSessionQueryVariables + >(GetCameraClaimSessionDocument, options); +} +export function useGetCameraClaimSessionSuspenseQuery( + baseOptions?: Apollo.SuspenseQueryHookOptions< + GetCameraClaimSessionQuery, + GetCameraClaimSessionQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useSuspenseQuery< + GetCameraClaimSessionQuery, + GetCameraClaimSessionQueryVariables + >(GetCameraClaimSessionDocument, options); +} +export type GetCameraClaimSessionQueryHookResult = ReturnType< + typeof useGetCameraClaimSessionQuery +>; +export type GetCameraClaimSessionLazyQueryHookResult = ReturnType< + typeof useGetCameraClaimSessionLazyQuery +>; +export type GetCameraClaimSessionSuspenseQueryHookResult = ReturnType< + typeof useGetCameraClaimSessionSuspenseQuery +>; +export type GetCameraClaimSessionQueryResult = Apollo.QueryResult< + GetCameraClaimSessionQuery, + GetCameraClaimSessionQueryVariables +>; +export const GetActiveCameraLeaseDocument = gql` + query GetActiveCameraLease { + activeCameraLease { + ...CameraLeaseFields + } + } + ${CameraLeaseFieldsFragmentDoc} +`; + +/** + * __useGetActiveCameraLeaseQuery__ + * + * To run a query within a React component, call `useGetActiveCameraLeaseQuery` and pass it any options that fit your needs. + * When your component renders, `useGetActiveCameraLeaseQuery` returns an object from Apollo Client that contains loading, error, and data properties + * you can use to render your UI. + * + * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; + * + * @example + * const { data, loading, error } = useGetActiveCameraLeaseQuery({ + * variables: { + * }, + * }); + */ +export function useGetActiveCameraLeaseQuery( + baseOptions?: Apollo.QueryHookOptions< + GetActiveCameraLeaseQuery, + GetActiveCameraLeaseQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useQuery< + GetActiveCameraLeaseQuery, + GetActiveCameraLeaseQueryVariables + >(GetActiveCameraLeaseDocument, options); +} +export function useGetActiveCameraLeaseLazyQuery( + baseOptions?: Apollo.LazyQueryHookOptions< + GetActiveCameraLeaseQuery, + GetActiveCameraLeaseQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useLazyQuery< + GetActiveCameraLeaseQuery, + GetActiveCameraLeaseQueryVariables + >(GetActiveCameraLeaseDocument, options); +} +export function useGetActiveCameraLeaseSuspenseQuery( + baseOptions?: Apollo.SuspenseQueryHookOptions< + GetActiveCameraLeaseQuery, + GetActiveCameraLeaseQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useSuspenseQuery< + GetActiveCameraLeaseQuery, + GetActiveCameraLeaseQueryVariables + >(GetActiveCameraLeaseDocument, options); +} +export type GetActiveCameraLeaseQueryHookResult = ReturnType< + typeof useGetActiveCameraLeaseQuery +>; +export type GetActiveCameraLeaseLazyQueryHookResult = ReturnType< + typeof useGetActiveCameraLeaseLazyQuery +>; +export type GetActiveCameraLeaseSuspenseQueryHookResult = ReturnType< + typeof useGetActiveCameraLeaseSuspenseQuery +>; +export type GetActiveCameraLeaseQueryResult = Apollo.QueryResult< + GetActiveCameraLeaseQuery, + GetActiveCameraLeaseQueryVariables +>; +export const CreatePoolHallDocument = gql` + mutation CreatePoolHall($input: CreatePoolHallInput!) { + createPoolHall(input: $input) { + ...PoolHallFields + } + } + ${PoolHallFieldsFragmentDoc} +`; +export type CreatePoolHallMutationFn = Apollo.MutationFunction< + CreatePoolHallMutation, + CreatePoolHallMutationVariables +>; + +/** + * __useCreatePoolHallMutation__ + * + * To run a mutation, you first call `useCreatePoolHallMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useCreatePoolHallMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [createPoolHallMutation, { data, loading, error }] = useCreatePoolHallMutation({ + * variables: { + * input: // value for 'input' + * }, + * }); + */ +export function useCreatePoolHallMutation( + baseOptions?: Apollo.MutationHookOptions< + CreatePoolHallMutation, + CreatePoolHallMutationVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useMutation< + CreatePoolHallMutation, + CreatePoolHallMutationVariables + >(CreatePoolHallDocument, options); +} +export type CreatePoolHallMutationHookResult = ReturnType< + typeof useCreatePoolHallMutation +>; +export type CreatePoolHallMutationResult = + Apollo.MutationResult; +export type CreatePoolHallMutationOptions = Apollo.BaseMutationOptions< + CreatePoolHallMutation, + CreatePoolHallMutationVariables +>; +export const UpdatePoolHallDocument = gql` + mutation UpdatePoolHall($input: UpdatePoolHallInput!) { + updatePoolHall(input: $input) { + ...PoolHallFields + } + } + ${PoolHallFieldsFragmentDoc} +`; +export type UpdatePoolHallMutationFn = Apollo.MutationFunction< + UpdatePoolHallMutation, + UpdatePoolHallMutationVariables +>; + +/** + * __useUpdatePoolHallMutation__ + * + * To run a mutation, you first call `useUpdatePoolHallMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useUpdatePoolHallMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [updatePoolHallMutation, { data, loading, error }] = useUpdatePoolHallMutation({ + * variables: { + * input: // value for 'input' + * }, + * }); + */ +export function useUpdatePoolHallMutation( + baseOptions?: Apollo.MutationHookOptions< + UpdatePoolHallMutation, + UpdatePoolHallMutationVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useMutation< + UpdatePoolHallMutation, + UpdatePoolHallMutationVariables + >(UpdatePoolHallDocument, options); +} +export type UpdatePoolHallMutationHookResult = ReturnType< + typeof useUpdatePoolHallMutation +>; +export type UpdatePoolHallMutationResult = + Apollo.MutationResult; +export type UpdatePoolHallMutationOptions = Apollo.BaseMutationOptions< + UpdatePoolHallMutation, + UpdatePoolHallMutationVariables +>; +export const CreatePoolHallCameraDocument = gql` + mutation CreatePoolHallCamera($input: CreatePoolHallCameraInput!) { + createPoolHallCamera(input: $input) { + ...PoolHallCameraStreamCredentialsFields + } + } + ${PoolHallCameraStreamCredentialsFieldsFragmentDoc} +`; +export type CreatePoolHallCameraMutationFn = Apollo.MutationFunction< + CreatePoolHallCameraMutation, + CreatePoolHallCameraMutationVariables +>; + +/** + * __useCreatePoolHallCameraMutation__ + * + * To run a mutation, you first call `useCreatePoolHallCameraMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useCreatePoolHallCameraMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [createPoolHallCameraMutation, { data, loading, error }] = useCreatePoolHallCameraMutation({ + * variables: { + * input: // value for 'input' + * }, + * }); + */ +export function useCreatePoolHallCameraMutation( + baseOptions?: Apollo.MutationHookOptions< + CreatePoolHallCameraMutation, + CreatePoolHallCameraMutationVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useMutation< + CreatePoolHallCameraMutation, + CreatePoolHallCameraMutationVariables + >(CreatePoolHallCameraDocument, options); +} +export type CreatePoolHallCameraMutationHookResult = ReturnType< + typeof useCreatePoolHallCameraMutation +>; +export type CreatePoolHallCameraMutationResult = + Apollo.MutationResult; +export type CreatePoolHallCameraMutationOptions = Apollo.BaseMutationOptions< + CreatePoolHallCameraMutation, + CreatePoolHallCameraMutationVariables +>; +export const UpdatePoolHallCameraDocument = gql` + mutation UpdatePoolHallCamera($input: UpdatePoolHallCameraInput!) { + updatePoolHallCamera(input: $input) { + ...PoolHallCameraWithHallFields + } + } + ${PoolHallCameraWithHallFieldsFragmentDoc} +`; +export type UpdatePoolHallCameraMutationFn = Apollo.MutationFunction< + UpdatePoolHallCameraMutation, + UpdatePoolHallCameraMutationVariables +>; + +/** + * __useUpdatePoolHallCameraMutation__ + * + * To run a mutation, you first call `useUpdatePoolHallCameraMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useUpdatePoolHallCameraMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [updatePoolHallCameraMutation, { data, loading, error }] = useUpdatePoolHallCameraMutation({ + * variables: { + * input: // value for 'input' + * }, + * }); + */ +export function useUpdatePoolHallCameraMutation( + baseOptions?: Apollo.MutationHookOptions< + UpdatePoolHallCameraMutation, + UpdatePoolHallCameraMutationVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useMutation< + UpdatePoolHallCameraMutation, + UpdatePoolHallCameraMutationVariables + >(UpdatePoolHallCameraDocument, options); +} +export type UpdatePoolHallCameraMutationHookResult = ReturnType< + typeof useUpdatePoolHallCameraMutation +>; +export type UpdatePoolHallCameraMutationResult = + Apollo.MutationResult; +export type UpdatePoolHallCameraMutationOptions = Apollo.BaseMutationOptions< + UpdatePoolHallCameraMutation, + UpdatePoolHallCameraMutationVariables +>; +export const RotatePoolHallCameraStreamKeyDocument = gql` + mutation RotatePoolHallCameraStreamKey($cameraId: ID!) { + rotatePoolHallCameraStreamKey(cameraId: $cameraId) { + ...PoolHallCameraStreamCredentialsFields + } + } + ${PoolHallCameraStreamCredentialsFieldsFragmentDoc} +`; +export type RotatePoolHallCameraStreamKeyMutationFn = Apollo.MutationFunction< + RotatePoolHallCameraStreamKeyMutation, + RotatePoolHallCameraStreamKeyMutationVariables +>; + +/** + * __useRotatePoolHallCameraStreamKeyMutation__ + * + * To run a mutation, you first call `useRotatePoolHallCameraStreamKeyMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useRotatePoolHallCameraStreamKeyMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [rotatePoolHallCameraStreamKeyMutation, { data, loading, error }] = useRotatePoolHallCameraStreamKeyMutation({ + * variables: { + * cameraId: // value for 'cameraId' + * }, + * }); + */ +export function useRotatePoolHallCameraStreamKeyMutation( + baseOptions?: Apollo.MutationHookOptions< + RotatePoolHallCameraStreamKeyMutation, + RotatePoolHallCameraStreamKeyMutationVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useMutation< + RotatePoolHallCameraStreamKeyMutation, + RotatePoolHallCameraStreamKeyMutationVariables + >(RotatePoolHallCameraStreamKeyDocument, options); +} +export type RotatePoolHallCameraStreamKeyMutationHookResult = ReturnType< + typeof useRotatePoolHallCameraStreamKeyMutation +>; +export type RotatePoolHallCameraStreamKeyMutationResult = + Apollo.MutationResult; +export type RotatePoolHallCameraStreamKeyMutationOptions = + Apollo.BaseMutationOptions< + RotatePoolHallCameraStreamKeyMutation, + RotatePoolHallCameraStreamKeyMutationVariables + >; +export const CreateCameraClaimSessionDocument = gql` + mutation CreateCameraClaimSession($cameraId: ID!) { + createCameraClaimSession(cameraId: $cameraId) { + ...CameraClaimSessionFields + } + } + ${CameraClaimSessionFieldsFragmentDoc} +`; +export type CreateCameraClaimSessionMutationFn = Apollo.MutationFunction< + CreateCameraClaimSessionMutation, + CreateCameraClaimSessionMutationVariables +>; + +/** + * __useCreateCameraClaimSessionMutation__ + * + * To run a mutation, you first call `useCreateCameraClaimSessionMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useCreateCameraClaimSessionMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [createCameraClaimSessionMutation, { data, loading, error }] = useCreateCameraClaimSessionMutation({ + * variables: { + * cameraId: // value for 'cameraId' + * }, + * }); + */ +export function useCreateCameraClaimSessionMutation( + baseOptions?: Apollo.MutationHookOptions< + CreateCameraClaimSessionMutation, + CreateCameraClaimSessionMutationVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useMutation< + CreateCameraClaimSessionMutation, + CreateCameraClaimSessionMutationVariables + >(CreateCameraClaimSessionDocument, options); +} +export type CreateCameraClaimSessionMutationHookResult = ReturnType< + typeof useCreateCameraClaimSessionMutation +>; +export type CreateCameraClaimSessionMutationResult = + Apollo.MutationResult; +export type CreateCameraClaimSessionMutationOptions = + Apollo.BaseMutationOptions< + CreateCameraClaimSessionMutation, + CreateCameraClaimSessionMutationVariables + >; +export const CancelCameraClaimSessionDocument = gql` + mutation CancelCameraClaimSession($claimSessionId: ID!) { + cancelCameraClaimSession(claimSessionId: $claimSessionId) { + ...CameraClaimSessionFields + } + } + ${CameraClaimSessionFieldsFragmentDoc} +`; +export type CancelCameraClaimSessionMutationFn = Apollo.MutationFunction< + CancelCameraClaimSessionMutation, + CancelCameraClaimSessionMutationVariables +>; + +/** + * __useCancelCameraClaimSessionMutation__ + * + * To run a mutation, you first call `useCancelCameraClaimSessionMutation` within a React component and pass it any options that fit your needs. + * When your component renders, `useCancelCameraClaimSessionMutation` returns a tuple that includes: + * - A mutate function that you can call at any time to execute the mutation + * - An object with fields that represent the current status of the mutation's execution + * + * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; + * + * @example + * const [cancelCameraClaimSessionMutation, { data, loading, error }] = useCancelCameraClaimSessionMutation({ + * variables: { + * claimSessionId: // value for 'claimSessionId' + * }, + * }); + */ +export function useCancelCameraClaimSessionMutation( + baseOptions?: Apollo.MutationHookOptions< + CancelCameraClaimSessionMutation, + CancelCameraClaimSessionMutationVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useMutation< + CancelCameraClaimSessionMutation, + CancelCameraClaimSessionMutationVariables + >(CancelCameraClaimSessionDocument, options); +} +export type CancelCameraClaimSessionMutationHookResult = ReturnType< + typeof useCancelCameraClaimSessionMutation +>; +export type CancelCameraClaimSessionMutationResult = + Apollo.MutationResult; +export type CancelCameraClaimSessionMutationOptions = + Apollo.BaseMutationOptions< + CancelCameraClaimSessionMutation, + CancelCameraClaimSessionMutationVariables + >; export const ReactToVideoDocument = gql` mutation ReactToVideo($videoId: Int!, $reaction: ReactionEnum) { reactToVideo(videoId: $videoId, reaction: $reaction) @@ -11888,269 +12285,6 @@ export type FinalizePlayerAssignmentsMutationOptions = FinalizePlayerAssignmentsMutation, FinalizePlayerAssignmentsMutationVariables >; -export const GetTableStateDocument = gql` - query GetTableState( - $b64Image: String! - $tableSize: Float - $useHomography: HomographyInputGQL - ) { - getTableState( - b64Image: $b64Image - tableSize: $tableSize - useHomography: $useHomography - ) { - identifierToPosition - } - } -`; - -/** - * __useGetTableStateQuery__ - * - * To run a query within a React component, call `useGetTableStateQuery` and pass it any options that fit your needs. - * When your component renders, `useGetTableStateQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useGetTableStateQuery({ - * variables: { - * b64Image: // value for 'b64Image' - * tableSize: // value for 'tableSize' - * useHomography: // value for 'useHomography' - * }, - * }); - */ -export function useGetTableStateQuery( - baseOptions: Apollo.QueryHookOptions< - GetTableStateQuery, - GetTableStateQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery( - GetTableStateDocument, - options, - ); -} -export function useGetTableStateLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - GetTableStateQuery, - GetTableStateQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery( - GetTableStateDocument, - options, - ); -} -export function useGetTableStateSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - GetTableStateQuery, - GetTableStateQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery< - GetTableStateQuery, - GetTableStateQueryVariables - >(GetTableStateDocument, options); -} -export type GetTableStateQueryHookResult = ReturnType< - typeof useGetTableStateQuery ->; -export type GetTableStateLazyQueryHookResult = ReturnType< - typeof useGetTableStateLazyQuery ->; -export type GetTableStateSuspenseQueryHookResult = ReturnType< - typeof useGetTableStateSuspenseQuery ->; -export type GetTableStateQueryResult = Apollo.QueryResult< - GetTableStateQuery, - GetTableStateQueryVariables ->; -export const SimulateShotDocument = gql` - query SimulateShot($simulationInput: SimulateShotInputGQL!) { - simulateShot(simulationInput: $simulationInput) { - trajectories { - ballId - points { - time - position - } - } - events { - eventType - time - ballIds - position - } - finalState { - ballId - position - } - pottedBallIds - } - } -`; - -/** - * __useSimulateShotQuery__ - * - * To run a query within a React component, call `useSimulateShotQuery` and pass it any options that fit your needs. - * When your component renders, `useSimulateShotQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useSimulateShotQuery({ - * variables: { - * simulationInput: // value for 'simulationInput' - * }, - * }); - */ -export function useSimulateShotQuery( - baseOptions: Apollo.QueryHookOptions< - SimulateShotQuery, - SimulateShotQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery( - SimulateShotDocument, - options, - ); -} -export function useSimulateShotLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - SimulateShotQuery, - SimulateShotQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery( - SimulateShotDocument, - options, - ); -} -export function useSimulateShotSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - SimulateShotQuery, - SimulateShotQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery( - SimulateShotDocument, - options, - ); -} -export type SimulateShotQueryHookResult = ReturnType< - typeof useSimulateShotQuery ->; -export type SimulateShotLazyQueryHookResult = ReturnType< - typeof useSimulateShotLazyQuery ->; -export type SimulateShotSuspenseQueryHookResult = ReturnType< - typeof useSimulateShotSuspenseQuery ->; -export type SimulateShotQueryResult = Apollo.QueryResult< - SimulateShotQuery, - SimulateShotQueryVariables ->; -export const ComputePotAimDocument = gql` - query ComputePotAim( - $simulationInput: SimulateShotInputGQL! - $targetBallId: Int! - $pocket: PocketIdentifier! - ) { - computePotAim( - simulationInput: $simulationInput - targetBallId: $targetBallId - pocket: $pocket - ) { - phi - geometricPhi - cutAngle - requiredPrecision - feasible - potted - converged - occludingBallIds - } - } -`; - -/** - * __useComputePotAimQuery__ - * - * To run a query within a React component, call `useComputePotAimQuery` and pass it any options that fit your needs. - * When your component renders, `useComputePotAimQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useComputePotAimQuery({ - * variables: { - * simulationInput: // value for 'simulationInput' - * targetBallId: // value for 'targetBallId' - * pocket: // value for 'pocket' - * }, - * }); - */ -export function useComputePotAimQuery( - baseOptions: Apollo.QueryHookOptions< - ComputePotAimQuery, - ComputePotAimQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery( - ComputePotAimDocument, - options, - ); -} -export function useComputePotAimLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - ComputePotAimQuery, - ComputePotAimQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery( - ComputePotAimDocument, - options, - ); -} -export function useComputePotAimSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - ComputePotAimQuery, - ComputePotAimQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery< - ComputePotAimQuery, - ComputePotAimQueryVariables - >(ComputePotAimDocument, options); -} -export type ComputePotAimQueryHookResult = ReturnType< - typeof useComputePotAimQuery ->; -export type ComputePotAimLazyQueryHookResult = ReturnType< - typeof useComputePotAimLazyQuery ->; -export type ComputePotAimSuspenseQueryHookResult = ReturnType< - typeof useComputePotAimSuspenseQuery ->; -export type ComputePotAimQueryResult = Apollo.QueryResult< - ComputePotAimQuery, - ComputePotAimQueryVariables ->; export const GetSerializedShotPathsDocument = gql` query GetSerializedShotPaths($filterInput: FilterInput!) { getShots(filterInput: $filterInput) { @@ -12809,93 +12943,6 @@ export type GetShotsByIdsQueryResult = Apollo.QueryResult< GetShotsByIdsQuery, GetShotsByIdsQueryVariables >; -export const GetShotClipRangesDocument = gql` - query GetShotClipRanges( - $filterInput: FilterInput! - $shotsOrdering: GetShotsOrdering - $limit: Int - ) { - getOrderedShots( - filterInput: $filterInput - shotsOrdering: $shotsOrdering - limit: $limit - ) { - count - shots { - ...ShotClipRange - } - } - } - ${ShotClipRangeFragmentDoc} -`; - -/** - * __useGetShotClipRangesQuery__ - * - * To run a query within a React component, call `useGetShotClipRangesQuery` and pass it any options that fit your needs. - * When your component renders, `useGetShotClipRangesQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useGetShotClipRangesQuery({ - * variables: { - * filterInput: // value for 'filterInput' - * shotsOrdering: // value for 'shotsOrdering' - * limit: // value for 'limit' - * }, - * }); - */ -export function useGetShotClipRangesQuery( - baseOptions: Apollo.QueryHookOptions< - GetShotClipRangesQuery, - GetShotClipRangesQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery< - GetShotClipRangesQuery, - GetShotClipRangesQueryVariables - >(GetShotClipRangesDocument, options); -} -export function useGetShotClipRangesLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - GetShotClipRangesQuery, - GetShotClipRangesQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery< - GetShotClipRangesQuery, - GetShotClipRangesQueryVariables - >(GetShotClipRangesDocument, options); -} -export function useGetShotClipRangesSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - GetShotClipRangesQuery, - GetShotClipRangesQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery< - GetShotClipRangesQuery, - GetShotClipRangesQueryVariables - >(GetShotClipRangesDocument, options); -} -export type GetShotClipRangesQueryHookResult = ReturnType< - typeof useGetShotClipRangesQuery ->; -export type GetShotClipRangesLazyQueryHookResult = ReturnType< - typeof useGetShotClipRangesLazyQuery ->; -export type GetShotClipRangesSuspenseQueryHookResult = ReturnType< - typeof useGetShotClipRangesSuspenseQuery ->; -export type GetShotClipRangesQueryResult = Apollo.QueryResult< - GetShotClipRangesQuery, - GetShotClipRangesQueryVariables ->; export const EditShotDocument = gql` mutation EditShot($shotId: Int!, $fieldsToEdit: EditableShotFieldInputGQL!) { editShot(shotId: $shotId, fieldsToEdit: $fieldsToEdit) { @@ -13385,105 +13432,6 @@ export type GetUserPlayTimeQueryResult = Apollo.QueryResult< GetUserPlayTimeQuery, GetUserPlayTimeQueryVariables >; -export const GetUploadQuotaStatusDocument = gql` - query GetUploadQuotaStatus { - getQuotaStatus { - tierName - periodStart - periodEnd - durationUsedSeconds - durationLimitSeconds - maxVideoDurationSeconds - durationRemainingSeconds - canUpload - importQuotaBuckets { - quotaKey - appliesToUploadKind - periodStart - periodEnd - durationUsedSeconds - durationLimitSeconds - durationRemainingSeconds - canUpload - } - recordingQuotaBuckets { - quotaKey - appliesToUploadKind - periodStart - periodEnd - durationUsedSeconds - durationLimitSeconds - durationRemainingSeconds - canUpload - } - } - } -`; - -/** - * __useGetUploadQuotaStatusQuery__ - * - * To run a query within a React component, call `useGetUploadQuotaStatusQuery` and pass it any options that fit your needs. - * When your component renders, `useGetUploadQuotaStatusQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useGetUploadQuotaStatusQuery({ - * variables: { - * }, - * }); - */ -export function useGetUploadQuotaStatusQuery( - baseOptions?: Apollo.QueryHookOptions< - GetUploadQuotaStatusQuery, - GetUploadQuotaStatusQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery< - GetUploadQuotaStatusQuery, - GetUploadQuotaStatusQueryVariables - >(GetUploadQuotaStatusDocument, options); -} -export function useGetUploadQuotaStatusLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - GetUploadQuotaStatusQuery, - GetUploadQuotaStatusQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery< - GetUploadQuotaStatusQuery, - GetUploadQuotaStatusQueryVariables - >(GetUploadQuotaStatusDocument, options); -} -export function useGetUploadQuotaStatusSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - GetUploadQuotaStatusQuery, - GetUploadQuotaStatusQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery< - GetUploadQuotaStatusQuery, - GetUploadQuotaStatusQueryVariables - >(GetUploadQuotaStatusDocument, options); -} -export type GetUploadQuotaStatusQueryHookResult = ReturnType< - typeof useGetUploadQuotaStatusQuery ->; -export type GetUploadQuotaStatusLazyQueryHookResult = ReturnType< - typeof useGetUploadQuotaStatusLazyQuery ->; -export type GetUploadQuotaStatusSuspenseQueryHookResult = ReturnType< - typeof useGetUploadQuotaStatusSuspenseQuery ->; -export type GetUploadQuotaStatusQueryResult = Apollo.QueryResult< - GetUploadQuotaStatusQuery, - GetUploadQuotaStatusQueryVariables ->; export const GetUsernamesDocument = gql` query getUsernames( $matchString: String! @@ -14071,7 +14019,6 @@ export const EditUserDocument = gql` $fargoRating: Int $videosPrivateByDefault: Boolean $agreesToMarketing: Boolean - $bio: String ) { editUser( input: { @@ -14079,7 +14026,6 @@ export const EditUserDocument = gql` fargoRating: $fargoRating videosPrivateByDefault: $videosPrivateByDefault agreesToMarketing: $agreesToMarketing - bio: $bio } ) { id @@ -14089,7 +14035,6 @@ export const EditUserDocument = gql` updatedAt videosPrivateByDefault agreesToMarketing - bio } } `; @@ -14115,7 +14060,6 @@ export type EditUserMutationFn = Apollo.MutationFunction< * fargoRating: // value for 'fargoRating' * videosPrivateByDefault: // value for 'videosPrivateByDefault' * agreesToMarketing: // value for 'agreesToMarketing' - * bio: // value for 'bio' * }, * }); */ @@ -14714,80 +14658,6 @@ export type GetVideoSocialDetailsByIdQueryResult = Apollo.QueryResult< GetVideoSocialDetailsByIdQuery, GetVideoSocialDetailsByIdQueryVariables >; -export const GetVideoCardDocument = gql` - query GetVideoCard($videoId: Int!) { - getVideo(videoId: $videoId) { - ...VideoCardFields - } - } - ${VideoCardFieldsFragmentDoc} -`; - -/** - * __useGetVideoCardQuery__ - * - * To run a query within a React component, call `useGetVideoCardQuery` and pass it any options that fit your needs. - * When your component renders, `useGetVideoCardQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useGetVideoCardQuery({ - * variables: { - * videoId: // value for 'videoId' - * }, - * }); - */ -export function useGetVideoCardQuery( - baseOptions: Apollo.QueryHookOptions< - GetVideoCardQuery, - GetVideoCardQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery( - GetVideoCardDocument, - options, - ); -} -export function useGetVideoCardLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - GetVideoCardQuery, - GetVideoCardQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery( - GetVideoCardDocument, - options, - ); -} -export function useGetVideoCardSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - GetVideoCardQuery, - GetVideoCardQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery( - GetVideoCardDocument, - options, - ); -} -export type GetVideoCardQueryHookResult = ReturnType< - typeof useGetVideoCardQuery ->; -export type GetVideoCardLazyQueryHookResult = ReturnType< - typeof useGetVideoCardLazyQuery ->; -export type GetVideoCardSuspenseQueryHookResult = ReturnType< - typeof useGetVideoCardSuspenseQuery ->; -export type GetVideoCardQueryResult = Apollo.QueryResult< - GetVideoCardQuery, - GetVideoCardQueryVariables ->; export const GetVideosDocument = gql` query GetVideos($videoIds: [Int!]!) { getVideos(videoIds: $videoIds) { @@ -15602,254 +15472,6 @@ export type FindPrerecordTableLayoutMutationOptions = FindPrerecordTableLayoutMutation, FindPrerecordTableLayoutMutationVariables >; -export const RequestVideoExportDocument = gql` - mutation RequestVideoExport($input: RequestVideoExportInput!) { - requestVideoExport(input: $input) { - ...VideoExportJobFields - } - } - ${VideoExportJobFieldsFragmentDoc} -`; -export type RequestVideoExportMutationFn = Apollo.MutationFunction< - RequestVideoExportMutation, - RequestVideoExportMutationVariables ->; - -/** - * __useRequestVideoExportMutation__ - * - * To run a mutation, you first call `useRequestVideoExportMutation` within a React component and pass it any options that fit your needs. - * When your component renders, `useRequestVideoExportMutation` returns a tuple that includes: - * - A mutate function that you can call at any time to execute the mutation - * - An object with fields that represent the current status of the mutation's execution - * - * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; - * - * @example - * const [requestVideoExportMutation, { data, loading, error }] = useRequestVideoExportMutation({ - * variables: { - * input: // value for 'input' - * }, - * }); - */ -export function useRequestVideoExportMutation( - baseOptions?: Apollo.MutationHookOptions< - RequestVideoExportMutation, - RequestVideoExportMutationVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useMutation< - RequestVideoExportMutation, - RequestVideoExportMutationVariables - >(RequestVideoExportDocument, options); -} -export type RequestVideoExportMutationHookResult = ReturnType< - typeof useRequestVideoExportMutation ->; -export type RequestVideoExportMutationResult = - Apollo.MutationResult; -export type RequestVideoExportMutationOptions = Apollo.BaseMutationOptions< - RequestVideoExportMutation, - RequestVideoExportMutationVariables ->; -export const DismissVideoExportDocument = gql` - mutation DismissVideoExport($jobId: Int!) { - dismissVideoExport(jobId: $jobId) - } -`; -export type DismissVideoExportMutationFn = Apollo.MutationFunction< - DismissVideoExportMutation, - DismissVideoExportMutationVariables ->; - -/** - * __useDismissVideoExportMutation__ - * - * To run a mutation, you first call `useDismissVideoExportMutation` within a React component and pass it any options that fit your needs. - * When your component renders, `useDismissVideoExportMutation` returns a tuple that includes: - * - A mutate function that you can call at any time to execute the mutation - * - An object with fields that represent the current status of the mutation's execution - * - * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2; - * - * @example - * const [dismissVideoExportMutation, { data, loading, error }] = useDismissVideoExportMutation({ - * variables: { - * jobId: // value for 'jobId' - * }, - * }); - */ -export function useDismissVideoExportMutation( - baseOptions?: Apollo.MutationHookOptions< - DismissVideoExportMutation, - DismissVideoExportMutationVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useMutation< - DismissVideoExportMutation, - DismissVideoExportMutationVariables - >(DismissVideoExportDocument, options); -} -export type DismissVideoExportMutationHookResult = ReturnType< - typeof useDismissVideoExportMutation ->; -export type DismissVideoExportMutationResult = - Apollo.MutationResult; -export type DismissVideoExportMutationOptions = Apollo.BaseMutationOptions< - DismissVideoExportMutation, - DismissVideoExportMutationVariables ->; -export const VideoExportJobDocument = gql` - query VideoExportJob($jobId: Int!) { - videoExportJob(jobId: $jobId) { - ...VideoExportJobFields - } - } - ${VideoExportJobFieldsFragmentDoc} -`; - -/** - * __useVideoExportJobQuery__ - * - * To run a query within a React component, call `useVideoExportJobQuery` and pass it any options that fit your needs. - * When your component renders, `useVideoExportJobQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useVideoExportJobQuery({ - * variables: { - * jobId: // value for 'jobId' - * }, - * }); - */ -export function useVideoExportJobQuery( - baseOptions: Apollo.QueryHookOptions< - VideoExportJobQuery, - VideoExportJobQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery( - VideoExportJobDocument, - options, - ); -} -export function useVideoExportJobLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - VideoExportJobQuery, - VideoExportJobQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery( - VideoExportJobDocument, - options, - ); -} -export function useVideoExportJobSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - VideoExportJobQuery, - VideoExportJobQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery< - VideoExportJobQuery, - VideoExportJobQueryVariables - >(VideoExportJobDocument, options); -} -export type VideoExportJobQueryHookResult = ReturnType< - typeof useVideoExportJobQuery ->; -export type VideoExportJobLazyQueryHookResult = ReturnType< - typeof useVideoExportJobLazyQuery ->; -export type VideoExportJobSuspenseQueryHookResult = ReturnType< - typeof useVideoExportJobSuspenseQuery ->; -export type VideoExportJobQueryResult = Apollo.QueryResult< - VideoExportJobQuery, - VideoExportJobQueryVariables ->; -export const MyVideoExportsDocument = gql` - query MyVideoExports($limit: Int = 30, $offset: Int = 0) { - myVideoExports(limit: $limit, offset: $offset) { - ...VideoExportJobFields - } - } - ${VideoExportJobFieldsFragmentDoc} -`; - -/** - * __useMyVideoExportsQuery__ - * - * To run a query within a React component, call `useMyVideoExportsQuery` and pass it any options that fit your needs. - * When your component renders, `useMyVideoExportsQuery` returns an object from Apollo Client that contains loading, error, and data properties - * you can use to render your UI. - * - * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options; - * - * @example - * const { data, loading, error } = useMyVideoExportsQuery({ - * variables: { - * limit: // value for 'limit' - * offset: // value for 'offset' - * }, - * }); - */ -export function useMyVideoExportsQuery( - baseOptions?: Apollo.QueryHookOptions< - MyVideoExportsQuery, - MyVideoExportsQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useQuery( - MyVideoExportsDocument, - options, - ); -} -export function useMyVideoExportsLazyQuery( - baseOptions?: Apollo.LazyQueryHookOptions< - MyVideoExportsQuery, - MyVideoExportsQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useLazyQuery( - MyVideoExportsDocument, - options, - ); -} -export function useMyVideoExportsSuspenseQuery( - baseOptions?: Apollo.SuspenseQueryHookOptions< - MyVideoExportsQuery, - MyVideoExportsQueryVariables - >, -) { - const options = { ...defaultOptions, ...baseOptions }; - return Apollo.useSuspenseQuery< - MyVideoExportsQuery, - MyVideoExportsQueryVariables - >(MyVideoExportsDocument, options); -} -export type MyVideoExportsQueryHookResult = ReturnType< - typeof useMyVideoExportsQuery ->; -export type MyVideoExportsLazyQueryHookResult = ReturnType< - typeof useMyVideoExportsLazyQuery ->; -export type MyVideoExportsSuspenseQueryHookResult = ReturnType< - typeof useMyVideoExportsSuspenseQuery ->; -export type MyVideoExportsQueryResult = Apollo.QueryResult< - MyVideoExportsQuery, - MyVideoExportsQueryVariables ->; export const CreateUploadStreamDocument = gql` mutation CreateUploadStream( $videoMetadataInput: VideoMetadataInput! @@ -16010,13 +15632,6 @@ export const GetHlsInitUploadLinkDocument = gql` ... on TooManyInitUploadsErr { linksRequested } - ... on StorageLimitExceededErr { - reason - tierName - retainedStorageUsedBytes - retainedStorageLimitBytes - remainingStorageBytes - } } } } diff --git a/src/operations/pool_hall.gql b/src/operations/pool_hall.gql new file mode 100644 index 0000000..0308b6b --- /dev/null +++ b/src/operations/pool_hall.gql @@ -0,0 +1,152 @@ +fragment PoolHallFields on PoolHall { + id + name + address + latitude + longitude + timezone + status + createdAt + updatedAt +} + +fragment PoolHallCameraFields on PoolHallCamera { + id + poolHallId + name + tableLabel + streamPath + status + lastPublishedAt + lastUnpublishedAt + createdAt + updatedAt +} + +fragment PoolHallCameraWithHallFields on PoolHallCamera { + ...PoolHallCameraFields + poolHall { + ...PoolHallFields + } +} + +fragment PoolHallCameraStreamCredentialsFields on PoolHallCameraStreamCredentials { + streamKey + rtmpPath + camera { + ...PoolHallCameraWithHallFields + } +} + +fragment CameraClaimSessionFields on CameraClaimSession { + id + cameraId + userId + challengeCode + status + expiresAt + detectedAt + failedAt + failureReason + createdAt + updatedAt + camera { + ...PoolHallCameraWithHallFields + } +} + +fragment CameraLeaseFields on CameraLease { + id + cameraId + claimSessionId + userId + videoId + status + startedAt + endedAt + expiresAt + endReason + createdAt + updatedAt + camera { + ...PoolHallCameraWithHallFields + } +} + +query GetPoolHalls { + poolHalls { + ...PoolHallFields + } +} + +query GetClaimablePoolHalls { + claimablePoolHalls { + ...PoolHallFields + } +} + +query GetPoolHallCameras($poolHallId: ID!) { + poolHallCameras(poolHallId: $poolHallId) { + ...PoolHallCameraWithHallFields + } +} + +query GetClaimableCameras($poolHallId: ID!) { + claimableCameras(poolHallId: $poolHallId) { + ...PoolHallCameraWithHallFields + } +} + +query GetCameraClaimSession($id: ID!) { + cameraClaimSession(id: $id) { + ...CameraClaimSessionFields + } +} + +query GetActiveCameraLease { + activeCameraLease { + ...CameraLeaseFields + } +} + +mutation CreatePoolHall($input: CreatePoolHallInput!) { + createPoolHall(input: $input) { + ...PoolHallFields + } +} + +mutation UpdatePoolHall($input: UpdatePoolHallInput!) { + updatePoolHall(input: $input) { + ...PoolHallFields + } +} + +mutation CreatePoolHallCamera($input: CreatePoolHallCameraInput!) { + createPoolHallCamera(input: $input) { + ...PoolHallCameraStreamCredentialsFields + } +} + +mutation UpdatePoolHallCamera($input: UpdatePoolHallCameraInput!) { + updatePoolHallCamera(input: $input) { + ...PoolHallCameraWithHallFields + } +} + +mutation RotatePoolHallCameraStreamKey($cameraId: ID!) { + rotatePoolHallCameraStreamKey(cameraId: $cameraId) { + ...PoolHallCameraStreamCredentialsFields + } +} + +mutation CreateCameraClaimSession($cameraId: ID!) { + createCameraClaimSession(cameraId: $cameraId) { + ...CameraClaimSessionFields + } +} + +mutation CancelCameraClaimSession($claimSessionId: ID!) { + cancelCameraClaimSession(claimSessionId: $claimSessionId) { + ...CameraClaimSessionFields + } +} diff --git a/src/schema.gql b/src/schema.gql index a7e8b1b..3af0c3a 100644 --- a/src/schema.gql +++ b/src/schema.gql @@ -31,16 +31,6 @@ type Query { limit: Int! = 50 requiredTags: [String!] = null ): RunLeaderboardGQL! - getDrillRunLeaderboard( - drillTag: String! - interval: TimeInterval = null - limit: Int! = 50 - tableSizeMin: Float = null - tableSizeMax: Float = null - pocketSizeMin: Float = null - pocketSizeMax: Float = null - ): DrillRunLeaderboardGQL! - getMyDrillRuns(drillTag: String!, limit: Int! = 50): [RunGQL!]! getMakesLeaderboard( interval: TimeInterval = null when: DateTime = null @@ -52,6 +42,12 @@ type Query { filters: NotificationFilters = null ): NotificationConnection! unreadNotificationCount: Int! + poolHalls: [PoolHall!]! + claimablePoolHalls: [PoolHall!]! + poolHallCameras(poolHallId: ID!): [PoolHallCamera!]! + claimableCameras(poolHallId: ID!): [PoolHallCamera!]! + cameraClaimSession(id: ID!): CameraClaimSession + activeCameraLease: CameraLease getRuns( filterInput: RunFilterInput! runIds: [Int!] = null @@ -66,12 +62,6 @@ type Query { tableSize: Float = 100 useHomography: HomographyInputGQL = null ): TableStateGQL! - simulateShot(simulationInput: SimulateShotInputGQL!): ShotProjectionGQL! - computePotAim( - simulationInput: SimulateShotInputGQL! - targetBallId: Int! - pocket: PocketIdentifier! - ): PotAimGQL! getOrderedShots( filterInput: FilterInput! ids: [Int!] = null @@ -114,10 +104,7 @@ type Query { ): UserRelationshipsResult! getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL! getUserSubscriptionStatus: UserSubscriptionStatusGQL! - getResolvedTier: ResolvedTierGQL! - getAppleAppAccountToken: String! getQuotaStatus: QuotaStatusGQL! - getStorageStatus: StorageStatusGQL getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL! getUserVideos( userId: Int = null @@ -127,8 +114,6 @@ type Query { ): VideoHistoryGQL! getUserTags(includeRetiredTags: Boolean = false): [TagGQL!]! getGameTypeTagMetrics(input: GameTypeTagMetricsInput!): [GameTypeTagMetric!]! - videoExportJob(jobId: Int!): VideoExportJobGQL - myVideoExports(limit: Int! = 30, offset: Int! = 0): [VideoExportJobGQL!]! getVideo(videoId: Int!, debuggingJson: JSON = null): VideoGQL! getVideos(videoIds: [Int!]!): [VideoGQL!]! } @@ -366,7 +351,6 @@ type UserGQL { activeVideoId: Int stripeCustomerId: String profileImageUri: String - bio: String createdAt: DateTime updatedAt: DateTime videosPrivateByDefault: Boolean @@ -540,7 +524,6 @@ type UploadStreamGQL { initPlaylistUploadStatus: InitPlaylistUploadStatusEnum lowestUnuploadedSegmentIndex: Int! uploadCompletionCursor: Int! - lastSegmentUploadedAt: DateTime errors: [StreamErrorGQL!]! createdAt: DateTime! updatedAt: DateTime! @@ -700,18 +683,10 @@ type PlayerSummaryGQL { makePercentage: Float! score: Int longestRun: Int! - runLengths: [Int!]! - spinTypeBreakdown: SpinTypeBreakdownGQL! averageDifficulty: Float averageTimeBetweenShots: Float } -type SpinTypeBreakdownGQL { - draw: Int! - center: Int! - follow: Int! -} - type DeployedConfigGQL { allowNewUsers: Boolean! firebase: Boolean! @@ -720,8 +695,6 @@ type DeployedConfigGQL { minimumAllowedAppVersion: String! subscriptionGatingEnabled: Boolean! quotaEnforcementEnabled: Boolean! - storageLimitEnforcementEnabled: Boolean! - capabilityEnforcementEnabled: Boolean! bannerMessages: [BannerGQL!]! defaultAndroidRecordingFormat: StreamSegmentTypeEnum! bucketUrl: String! @@ -746,7 +719,6 @@ type VideoHistoryGQL { videos: [VideoGQL!]! pageInfo: PageInfoGQL! hasFollowing: Boolean! - followingCount: Int! } type PageInfoGQL { @@ -783,13 +755,6 @@ type RunLeaderboardGQL { entries: [RunGQL!]! } -type DrillRunLeaderboardGQL { - entries: [RunGQL!]! - youRun: RunGQL - youRank: Int - totalPlayers: Int! -} - type CountLeaderboardGQL { entries: [UserShotCountEntry!]! } @@ -874,7 +839,6 @@ enum NotificationTypeEnum { REACTION FOLLOW CHALLENGE_INVITE - EXPORT_READY } input NotificationFilters { @@ -882,6 +846,63 @@ input NotificationFilters { notificationTypes: [NotificationTypeEnum!] = null } +type PoolHall { + id: ID! + name: String! + address: String + latitude: Float + longitude: Float + timezone: String + status: String! + createdAt: DateTime! + updatedAt: DateTime! +} + +type PoolHallCamera { + id: ID! + poolHallId: ID! + name: String! + tableLabel: String + streamPath: String! + status: String! + lastPublishedAt: DateTime + lastUnpublishedAt: DateTime + createdAt: DateTime! + updatedAt: DateTime! + poolHall: PoolHall! +} + +type CameraClaimSession { + id: ID! + cameraId: ID! + userId: ID! + challengeCode: String! + status: String! + expiresAt: DateTime! + detectedAt: DateTime + failedAt: DateTime + failureReason: String + createdAt: DateTime! + updatedAt: DateTime! + camera: PoolHallCamera! +} + +type CameraLease { + id: ID! + cameraId: ID! + claimSessionId: ID + userId: ID! + videoId: ID + status: String! + startedAt: DateTime! + endedAt: DateTime + expiresAt: DateTime + endReason: String + createdAt: DateTime! + updatedAt: DateTime! + camera: PoolHallCamera! +} + type GetRunsResult { runs: [RunGQL!]! count: Int @@ -977,76 +998,6 @@ input IntPoint2DInput { y: Int! } -type ShotProjectionGQL { - trajectories: [BallTrajectoryGQL!]! - events: [SimulationEventGQL!]! - finalState: [SimulationBallStateGQL!]! - pottedBallIds: [Int!]! -} - -type BallTrajectoryGQL { - ballId: Int! - points: [TrajectoryPointGQL!]! -} - -type TrajectoryPointGQL { - time: Float! - position: [Float!]! -} - -type SimulationEventGQL { - eventType: SimulationEventType! - time: Float! - ballIds: [Int!]! - position: [Float!] -} - -enum SimulationEventType { - STICK_BALL - BALL_BALL - BALL_CUSHION - BALL_POCKET - BALL_STOP -} - -type SimulationBallStateGQL { - ballId: Int! - position: [Float!]! -} - -input SimulateShotInputGQL { - cueBallId: Int! - strike: CueStrikeInputGQL! - balls: [SimulationBallStateInputGQL!] = null - b64Image: String = null - useHomography: HomographyInputGQL = null - tableSize: Float = null -} - -input CueStrikeInputGQL { - v0: Float! - phi: Float! - theta: Float! = 0 - a: Float! = 0 - b: Float! = 0 -} - -input SimulationBallStateInputGQL { - ballId: Int! - position: [Float!]! -} - -type PotAimGQL { - phi: Float! - geometricPhi: Float! - cutAngle: Float! - requiredPrecision: Float! - feasible: Boolean! - potted: Boolean! - converged: Boolean! - occludingBallIds: [Int!]! -} - type GetShotsResult { shots: [ShotGQL!]! count: Int @@ -1095,7 +1046,6 @@ type UserRelationship { type StripeSubscriptionOptionsGQL { products: [StripeProductGQL!]! trialPeriodDays: Int - appleIap: AppleIapSubscriptionOptionsGQL! } type StripeProductGQL { @@ -1116,12 +1066,6 @@ type StripePriceGQL { active: Boolean! } -type AppleIapSubscriptionOptionsGQL { - enabled: Boolean! - proMonthlyProductId: String - productIds: [String!]! -} - type UserSubscriptionStatusGQL { hasActiveSubscription: Boolean! entitlementSource: EntitlementSourceTypeEnum @@ -1139,7 +1083,6 @@ enum EntitlementSourceTypeEnum { ADMIN MANUAL STRIPE - APPLE ALPHA_LEGACY } @@ -1154,17 +1097,6 @@ enum StripeSubscriptionStatusEnum { PAUSED } -type ResolvedTierGQL { - tierName: String! - tierDisplayName: String! - hasActiveSubscription: Boolean! - entitlementSource: EntitlementSourceTypeEnum - entitlementStatus: String - entitlementStartsAt: DateTime - entitlementEndsAt: DateTime - capabilities: [String!]! -} - type QuotaStatusGQL { tierName: String! periodStart: DateTime! @@ -1189,27 +1121,6 @@ type QuotaBucketStatusGQL { canUpload: Boolean! } -type StorageStatusGQL { - userId: Int! - tierName: String! - retainedStorageUsedBytes: BigInt! - retainedStorageLimitBytes: BigInt - isUnlimited: Boolean! - policyConfigured: Boolean! - remainingStorageBytes: BigInt - storageUsageRatio: Float - isNearLimit: Boolean! - isOverLimit: Boolean! - usageCalculated: Boolean! - usageSource: String - lastCalculatedAt: DateTime -} - -""" -Integer value that can exceed GraphQL Int's 32-bit range. -""" -scalar BigInt - type UserPlayTimeGQL { totalSeconds: Float! } @@ -1245,36 +1156,6 @@ input GameTypeTagMetricsInput { includePrivate: IncludePrivateEnum! = MINE } -type VideoExportJobGQL { - id: Int! - videoId: Int! - mode: VideoExportModeEnum! - status: VideoExportStatusEnum! - videoName: String - videoThumbnailUri: String - shotIds: [Int!] - runId: Int - downloadUrl: String - fileSizeBytes: Int - expiresAt: DateTime - createdAt: DateTime -} - -enum VideoExportModeEnum { - FULL_SESSION - SHOTS - RUN -} - -enum VideoExportStatusEnum { - CREATED - QUEUED - RUNNING - SUCCEEDED - FAILED - EXPIRED -} - """ The `JSON` scalar type represents JSON values as specified by [ECMA-404](https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf). """ @@ -1331,6 +1212,15 @@ type Mutation { markAllNotificationsAsRead: Boolean! markNotificationsAsRead(notificationIds: [Int!]!): Boolean! deleteNotification(notificationId: Int!): Boolean! + createPoolHall(input: CreatePoolHallInput!): PoolHall! + updatePoolHall(input: UpdatePoolHallInput!): PoolHall! + createPoolHallCamera( + input: CreatePoolHallCameraInput! + ): PoolHallCameraStreamCredentials! + updatePoolHallCamera(input: UpdatePoolHallCameraInput!): PoolHallCamera! + rotatePoolHallCameraStreamKey(cameraId: ID!): PoolHallCameraStreamCredentials! + createCameraClaimSession(cameraId: ID!): CameraClaimSession! + cancelCameraClaimSession(claimSessionId: ID!): CameraClaimSession! finalizePlayerAssignments( input: FinalizePlayerAssignmentsInput! ): [PlayerClusterGQL!]! @@ -1357,9 +1247,6 @@ type Mutation { retireTags(tagIds: [Int!]!): Boolean! ensureStripeCustomerExists: UserGQL! deleteUser: Boolean! - syncAppleSubscription( - input: SyncAppleSubscriptionInputGQL! - ): SyncAppleSubscriptionResultGQL! createSubscription(priceId: String!): CreateSubscriptionResultGQL! createCustomerPortalSession: CreateCustomerPortalSessionResultGQL! cancelSubscription: UserSubscriptionStatusGQL! @@ -1376,8 +1263,6 @@ type Mutation { feedback: String = null metadata: CancellationFeedbackMetadataInput = null ): Boolean! - requestVideoExport(input: RequestVideoExportInput!): VideoExportJobGQL! - dismissVideoExport(jobId: Int!): Boolean! findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL createUploadStream( videoMetadata: VideoMetadataInput! @@ -1410,6 +1295,44 @@ enum ReportReasonEnum { OTHER } +input CreatePoolHallInput { + name: String! + address: String = null + latitude: Float = null + longitude: Float = null + timezone: String = null +} + +input UpdatePoolHallInput { + id: ID! + name: String = null + address: String = null + latitude: Float = null + longitude: Float = null + timezone: String = null + status: String = null +} + +type PoolHallCameraStreamCredentials { + camera: PoolHallCamera! + streamKey: String! + rtmpPath: String! +} + +input CreatePoolHallCameraInput { + poolHallId: ID! + name: String! + tableLabel: String = null + streamPath: String = null +} + +input UpdatePoolHallCameraInput { + id: ID! + name: String = null + tableLabel: String = null + status: String = null +} + input FinalizePlayerAssignmentsInput { videoId: Int! clusterAssignments: [ClusterAssignmentInput!]! = [] @@ -1513,27 +1436,6 @@ input EditUserInputGQL { fargoRating: Int = null videosPrivateByDefault: Boolean = null agreesToMarketing: Boolean = null - bio: String = null -} - -type SyncAppleSubscriptionResultGQL { - ok: Boolean! - errorCode: String - errorMessage: String - hasActiveSubscription: Boolean! - entitlementSource: EntitlementSourceTypeEnum - entitlementStartsAt: DateTime - entitlementEndsAt: DateTime - appleStatus: Int - originalTransactionId: String - latestTransactionId: String - productId: String - expiresAt: DateTime -} - -input SyncAppleSubscriptionInputGQL { - signedTransactionInfo: String! - signedRenewalInfo: String = null } type CreateSubscriptionResultGQL { @@ -1560,13 +1462,6 @@ input CancellationFeedbackMetadataInput { platform: String = null } -input RequestVideoExportInput { - videoId: Int! - mode: VideoExportModeEnum! - shotIds: [Int!] = null - runId: Int = null -} - type CreateUploadStreamReturn { videoId: Int! } @@ -1606,10 +1501,10 @@ type GetUploadLinkReturn { union UploadLinkGetUploadLinkErrors = UploadLink | GetUploadLinkErrors type GetUploadLinkErrors { - error: MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErrStorageLimitExceededErr! + error: MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErr! } -union MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErrStorageLimitExceededErr = +union MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErr = MustHaveSetForUploadLinkErr | SegmentAlreadyUploadedErr | ProcessingFailedErr @@ -1617,7 +1512,6 @@ union MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoI | TooManyProfileImageUploadsErr | InitUploadAlreadyCompletedErr | TooManyInitUploadsErr - | StorageLimitExceededErr type MustHaveSetForUploadLinkErr { resolution: Boolean @@ -1643,11 +1537,3 @@ type InitUploadAlreadyCompletedErr { type TooManyInitUploadsErr { linksRequested: Int! } - -type StorageLimitExceededErr { - reason: String! - tierName: String! - retainedStorageUsedBytes: BigInt! - retainedStorageLimitBytes: BigInt - remainingStorageBytes: BigInt -}