Compare commits
1 Commits
master
...
live-table
| Author | SHA1 | Date | |
|---|---|---|---|
| 71116165bc |
669
src/index.tsx
669
src/index.tsx
File diff suppressed because it is too large
Load Diff
@@ -7,8 +7,6 @@ query getDeployedConfig {
|
|||||||
minimumAllowedAppVersion
|
minimumAllowedAppVersion
|
||||||
subscriptionGatingEnabled
|
subscriptionGatingEnabled
|
||||||
quotaEnforcementEnabled
|
quotaEnforcementEnabled
|
||||||
storageLimitEnforcementEnabled
|
|
||||||
capabilityEnforcementEnabled
|
|
||||||
bannerMessages {
|
bannerMessages {
|
||||||
color
|
color
|
||||||
dismissible
|
dismissible
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ fragment VideoCardFields on VideoGQL {
|
|||||||
streamSegmentType
|
streamSegmentType
|
||||||
isCompleted
|
isCompleted
|
||||||
lastSegmentUploadedAt
|
lastSegmentUploadedAt
|
||||||
clientUploadStatus
|
|
||||||
}
|
}
|
||||||
tableSize
|
tableSize
|
||||||
pocketSize
|
pocketSize
|
||||||
|
|||||||
34
src/operations/live_streams.gql
Normal file
34
src/operations/live_streams.gql
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Lightweight listing of live (in-progress) streams for pickers like the
|
||||||
|
# Shot Lab "follow a live stream" flow. Selects only what a picker card
|
||||||
|
# needs; intentionally avoids the heavy VideoCardFields fragment.
|
||||||
|
query GetLiveStreams($limit: Int! = 25) {
|
||||||
|
getFeedVideos(
|
||||||
|
limit: $limit
|
||||||
|
filters: { isStreamCompleted: false, requireCursorCompletion: false }
|
||||||
|
includePrivate: MINE
|
||||||
|
feedInput: { allUsers: true }
|
||||||
|
) {
|
||||||
|
videos {
|
||||||
|
id
|
||||||
|
name
|
||||||
|
startTime
|
||||||
|
createdAt
|
||||||
|
screenshotUri
|
||||||
|
elapsedTime
|
||||||
|
owner {
|
||||||
|
id
|
||||||
|
username
|
||||||
|
profileImageUri
|
||||||
|
}
|
||||||
|
stream {
|
||||||
|
id
|
||||||
|
isCompleted
|
||||||
|
lastSegmentUploadedAt
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pageInfo {
|
||||||
|
hasNextPage
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -49,20 +49,6 @@ query GetAvailableSubscriptionOptions {
|
|||||||
proMonthlyProductId
|
proMonthlyProductId
|
||||||
productIds
|
productIds
|
||||||
}
|
}
|
||||||
tierOptions {
|
|
||||||
tierName
|
|
||||||
tierDisplayName
|
|
||||||
billingInterval
|
|
||||||
platform
|
|
||||||
isConfigured
|
|
||||||
isAvailable
|
|
||||||
stripeProductId
|
|
||||||
stripePriceId
|
|
||||||
appleProductId
|
|
||||||
currency
|
|
||||||
unitAmount
|
|
||||||
recurringIntervalCount
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,37 +67,6 @@ query GetSubscriptionStatus {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
query GetResolvedTier {
|
|
||||||
getResolvedTier {
|
|
||||||
tierName
|
|
||||||
tierDisplayName
|
|
||||||
hasActiveSubscription
|
|
||||||
entitlementSource
|
|
||||||
entitlementStatus
|
|
||||||
entitlementStartsAt
|
|
||||||
entitlementEndsAt
|
|
||||||
capabilities
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
query GetStorageStatus {
|
|
||||||
getStorageStatus {
|
|
||||||
userId
|
|
||||||
tierName
|
|
||||||
retainedStorageUsedBytes
|
|
||||||
retainedStorageLimitBytes
|
|
||||||
isUnlimited
|
|
||||||
policyConfigured
|
|
||||||
remainingStorageBytes
|
|
||||||
storageUsageRatio
|
|
||||||
isNearLimit
|
|
||||||
isOverLimit
|
|
||||||
usageCalculated
|
|
||||||
usageSource
|
|
||||||
lastCalculatedAt
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
query GetAppleAppAccountToken {
|
query GetAppleAppAccountToken {
|
||||||
getAppleAppAccountToken
|
getAppleAppAccountToken
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ fragment PoolHallFields on PoolHall {
|
|||||||
id
|
id
|
||||||
name
|
name
|
||||||
address
|
address
|
||||||
city
|
|
||||||
state
|
|
||||||
latitude
|
latitude
|
||||||
longitude
|
longitude
|
||||||
timezone
|
timezone
|
||||||
@@ -21,9 +19,6 @@ fragment PoolHallCameraFields on PoolHallCamera {
|
|||||||
status
|
status
|
||||||
tableSize
|
tableSize
|
||||||
pocketSize
|
pocketSize
|
||||||
allowsPrivateVideos
|
|
||||||
claimTermsText
|
|
||||||
claimTermsVersion
|
|
||||||
inUse
|
inUse
|
||||||
lastPublishedAt
|
lastPublishedAt
|
||||||
lastUnpublishedAt
|
lastUnpublishedAt
|
||||||
@@ -56,7 +51,6 @@ fragment CameraClaimSessionFields on CameraClaimSession {
|
|||||||
detectedAt
|
detectedAt
|
||||||
failedAt
|
failedAt
|
||||||
failureReason
|
failureReason
|
||||||
agreedTermsVersion
|
|
||||||
createdAt
|
createdAt
|
||||||
updatedAt
|
updatedAt
|
||||||
camera {
|
camera {
|
||||||
@@ -153,16 +147,12 @@ mutation CreateCameraClaimSession(
|
|||||||
$durationMinutes: Int
|
$durationMinutes: Int
|
||||||
$videoName: String
|
$videoName: String
|
||||||
$videoPrivate: Boolean
|
$videoPrivate: Boolean
|
||||||
$agreedTermsVersion: Int
|
|
||||||
$tags: [VideoTagInput!]
|
|
||||||
) {
|
) {
|
||||||
createCameraClaimSession(
|
createCameraClaimSession(
|
||||||
cameraId: $cameraId
|
cameraId: $cameraId
|
||||||
durationMinutes: $durationMinutes
|
durationMinutes: $durationMinutes
|
||||||
videoName: $videoName
|
videoName: $videoName
|
||||||
videoPrivate: $videoPrivate
|
videoPrivate: $videoPrivate
|
||||||
agreedTermsVersion: $agreedTermsVersion
|
|
||||||
tags: $tags
|
|
||||||
) {
|
) {
|
||||||
...CameraClaimSessionFields
|
...CameraClaimSessionFields
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,19 @@ query GetTableState(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
query GetLiveTableState($videoId: Int!) {
|
||||||
|
getLiveTableState(videoId: $videoId) {
|
||||||
|
videoId
|
||||||
|
frameIndex
|
||||||
|
tableState {
|
||||||
|
identifierToPosition
|
||||||
|
homography {
|
||||||
|
...HomographyInfo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
query SimulateShot($simulationInput: SimulateShotInputGQL!) {
|
query SimulateShot($simulationInput: SimulateShotInputGQL!) {
|
||||||
simulateShot(simulationInput: $simulationInput) {
|
simulateShot(simulationInput: $simulationInput) {
|
||||||
trajectories {
|
trajectories {
|
||||||
|
|||||||
@@ -37,13 +37,6 @@ mutation GetUploadLink($videoId: Int!, $segmentIndex: Int!) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
... on StorageLimitExceededErr {
|
|
||||||
reason
|
|
||||||
tierName
|
|
||||||
retainedStorageUsedBytes
|
|
||||||
retainedStorageLimitBytes
|
|
||||||
remainingStorageBytes
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ type Query {
|
|||||||
tableSize: Float = 100
|
tableSize: Float = 100
|
||||||
useHomography: HomographyInputGQL = null
|
useHomography: HomographyInputGQL = null
|
||||||
): TableStateGQL!
|
): TableStateGQL!
|
||||||
|
getLiveTableState(videoId: Int!): LiveTableStateGQL!
|
||||||
simulateShot(simulationInput: SimulateShotInputGQL!): ShotProjectionGQL!
|
simulateShot(simulationInput: SimulateShotInputGQL!): ShotProjectionGQL!
|
||||||
computePotAim(
|
computePotAim(
|
||||||
simulationInput: SimulateShotInputGQL!
|
simulationInput: SimulateShotInputGQL!
|
||||||
@@ -892,8 +893,6 @@ type PoolHall {
|
|||||||
id: ID!
|
id: ID!
|
||||||
name: String!
|
name: String!
|
||||||
address: String
|
address: String
|
||||||
city: String
|
|
||||||
state: String
|
|
||||||
latitude: Float
|
latitude: Float
|
||||||
longitude: Float
|
longitude: Float
|
||||||
timezone: String
|
timezone: String
|
||||||
@@ -911,9 +910,6 @@ type PoolHallCamera {
|
|||||||
status: String!
|
status: String!
|
||||||
tableSize: Float
|
tableSize: Float
|
||||||
pocketSize: Float
|
pocketSize: Float
|
||||||
allowsPrivateVideos: Boolean!
|
|
||||||
claimTermsText: String
|
|
||||||
claimTermsVersion: Int
|
|
||||||
lastPublishedAt: DateTime
|
lastPublishedAt: DateTime
|
||||||
lastUnpublishedAt: DateTime
|
lastUnpublishedAt: DateTime
|
||||||
createdAt: DateTime!
|
createdAt: DateTime!
|
||||||
@@ -932,7 +928,6 @@ type CameraClaimSession {
|
|||||||
detectedAt: DateTime
|
detectedAt: DateTime
|
||||||
failedAt: DateTime
|
failedAt: DateTime
|
||||||
failureReason: String
|
failureReason: String
|
||||||
agreedTermsVersion: Int
|
|
||||||
createdAt: DateTime!
|
createdAt: DateTime!
|
||||||
updatedAt: DateTime!
|
updatedAt: DateTime!
|
||||||
camera: PoolHallCamera!
|
camera: PoolHallCamera!
|
||||||
@@ -1049,6 +1044,12 @@ input IntPoint2DInput {
|
|||||||
y: Int!
|
y: Int!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type LiveTableStateGQL {
|
||||||
|
videoId: Int!
|
||||||
|
frameIndex: Int!
|
||||||
|
tableState: TableStateGQL!
|
||||||
|
}
|
||||||
|
|
||||||
type ShotProjectionGQL {
|
type ShotProjectionGQL {
|
||||||
trajectories: [BallTrajectoryGQL!]!
|
trajectories: [BallTrajectoryGQL!]!
|
||||||
events: [SimulationEventGQL!]!
|
events: [SimulationEventGQL!]!
|
||||||
@@ -1168,7 +1169,6 @@ type StripeSubscriptionOptionsGQL {
|
|||||||
products: [StripeProductGQL!]!
|
products: [StripeProductGQL!]!
|
||||||
trialPeriodDays: Int
|
trialPeriodDays: Int
|
||||||
appleIap: AppleIapSubscriptionOptionsGQL!
|
appleIap: AppleIapSubscriptionOptionsGQL!
|
||||||
tierOptions: [SubscriptionTierPurchaseOptionGQL!]!
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type StripeProductGQL {
|
type StripeProductGQL {
|
||||||
@@ -1195,21 +1195,6 @@ type AppleIapSubscriptionOptionsGQL {
|
|||||||
productIds: [String!]!
|
productIds: [String!]!
|
||||||
}
|
}
|
||||||
|
|
||||||
type SubscriptionTierPurchaseOptionGQL {
|
|
||||||
tierName: String!
|
|
||||||
tierDisplayName: String!
|
|
||||||
billingInterval: String!
|
|
||||||
platform: String!
|
|
||||||
isConfigured: Boolean!
|
|
||||||
isAvailable: Boolean!
|
|
||||||
stripeProductId: String
|
|
||||||
stripePriceId: String
|
|
||||||
appleProductId: String
|
|
||||||
currency: String
|
|
||||||
unitAmount: Int
|
|
||||||
recurringIntervalCount: Int
|
|
||||||
}
|
|
||||||
|
|
||||||
type UserSubscriptionStatusGQL {
|
type UserSubscriptionStatusGQL {
|
||||||
hasActiveSubscription: Boolean!
|
hasActiveSubscription: Boolean!
|
||||||
entitlementSource: EntitlementSourceTypeEnum
|
entitlementSource: EntitlementSourceTypeEnum
|
||||||
@@ -1431,8 +1416,6 @@ type Mutation {
|
|||||||
durationMinutes: Int = null
|
durationMinutes: Int = null
|
||||||
videoName: String = null
|
videoName: String = null
|
||||||
videoPrivate: Boolean = null
|
videoPrivate: Boolean = null
|
||||||
agreedTermsVersion: Int = null
|
|
||||||
tags: [VideoTagInput!] = null
|
|
||||||
): CameraClaimSession!
|
): CameraClaimSession!
|
||||||
cancelCameraClaimSession(claimSessionId: ID!): CameraClaimSession!
|
cancelCameraClaimSession(claimSessionId: ID!): CameraClaimSession!
|
||||||
endCameraLease(leaseId: ID!): CameraLease!
|
endCameraLease(leaseId: ID!): CameraLease!
|
||||||
@@ -1519,8 +1502,6 @@ enum ReportReasonEnum {
|
|||||||
input CreatePoolHallInput {
|
input CreatePoolHallInput {
|
||||||
name: String!
|
name: String!
|
||||||
address: String = null
|
address: String = null
|
||||||
city: String = null
|
|
||||||
state: String = null
|
|
||||||
latitude: Float = null
|
latitude: Float = null
|
||||||
longitude: Float = null
|
longitude: Float = null
|
||||||
timezone: String = null
|
timezone: String = null
|
||||||
@@ -1530,8 +1511,6 @@ input UpdatePoolHallInput {
|
|||||||
id: ID!
|
id: ID!
|
||||||
name: String = null
|
name: String = null
|
||||||
address: String = null
|
address: String = null
|
||||||
city: String = null
|
|
||||||
state: String = null
|
|
||||||
latitude: Float = null
|
latitude: Float = null
|
||||||
longitude: Float = null
|
longitude: Float = null
|
||||||
timezone: String = null
|
timezone: String = null
|
||||||
@@ -1551,8 +1530,6 @@ input CreatePoolHallCameraInput {
|
|||||||
streamPath: String = null
|
streamPath: String = null
|
||||||
tableSize: Float = null
|
tableSize: Float = null
|
||||||
pocketSize: Float = null
|
pocketSize: Float = null
|
||||||
allowsPrivateVideos: Boolean = null
|
|
||||||
claimTermsText: String = null
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input UpdatePoolHallCameraInput {
|
input UpdatePoolHallCameraInput {
|
||||||
@@ -1562,8 +1539,6 @@ input UpdatePoolHallCameraInput {
|
|||||||
status: String = null
|
status: String = null
|
||||||
tableSize: Float = null
|
tableSize: Float = null
|
||||||
pocketSize: Float = null
|
pocketSize: Float = null
|
||||||
allowsPrivateVideos: Boolean = null
|
|
||||||
claimTermsText: String = null
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input FinalizePlayerAssignmentsInput {
|
input FinalizePlayerAssignmentsInput {
|
||||||
|
|||||||
Reference in New Issue
Block a user