Compare commits
21 Commits
loewy/add-
...
dean/playe
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9250e4c639 | ||
|
|
5cf2dbaf01 | ||
| 239a143554 | |||
|
|
296522afb8 | ||
| f42579076e | |||
|
|
0c9eb4945a | ||
| 1182c15004 | |||
|
|
755336b16a | ||
| c1efe9f5f2 | |||
|
|
a3460842ac | ||
| 84d3a0252d | |||
|
|
1de4a97cb6 | ||
| 130314546c | |||
| b88f172355 | |||
| 639fc88b0b | |||
| 20f50368c9 | |||
| 8367c2d0cd | |||
| b0c62f6e80 | |||
| bc1ff66467 | |||
| ae37a3d9d9 | |||
|
|
114b21400e |
545
src/index.tsx
545
src/index.tsx
@@ -205,6 +205,12 @@ export enum ClientUploadStatusEnum {
|
|||||||
UploadEnabled = "UPLOAD_ENABLED",
|
UploadEnabled = "UPLOAD_ENABLED",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type ClusterAssignmentInput = {
|
||||||
|
clusterId: Scalars["Int"]["input"];
|
||||||
|
score?: InputMaybe<Scalars["Int"]["input"]>;
|
||||||
|
userId?: InputMaybe<Scalars["Int"]["input"]>;
|
||||||
|
};
|
||||||
|
|
||||||
export type CommentGql = {
|
export type CommentGql = {
|
||||||
__typename?: "CommentGQL";
|
__typename?: "CommentGQL";
|
||||||
id: Scalars["Int"]["output"];
|
id: Scalars["Int"]["output"];
|
||||||
@@ -224,6 +230,11 @@ export type CreateBucketSetInput = {
|
|||||||
keyName: Scalars["String"]["input"];
|
keyName: Scalars["String"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type CreateCustomerPortalSessionResultGql = {
|
||||||
|
__typename?: "CreateCustomerPortalSessionResultGQL";
|
||||||
|
portalUrl: Scalars["String"]["output"];
|
||||||
|
};
|
||||||
|
|
||||||
export type CreateSubscriptionResultGql = {
|
export type CreateSubscriptionResultGql = {
|
||||||
__typename?: "CreateSubscriptionResultGQL";
|
__typename?: "CreateSubscriptionResultGQL";
|
||||||
checkoutUrl: Scalars["String"]["output"];
|
checkoutUrl: Scalars["String"]["output"];
|
||||||
@@ -2177,6 +2188,12 @@ export type FilterInput =
|
|||||||
videoId: Array<Scalars["Int"]["input"]>;
|
videoId: Array<Scalars["Int"]["input"]>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type FinalizePlayerAssignmentsInput = {
|
||||||
|
clusterAssignments?: Array<ClusterAssignmentInput>;
|
||||||
|
shotMoves?: Array<ShotMoveInput>;
|
||||||
|
videoId: Scalars["Int"]["input"];
|
||||||
|
};
|
||||||
|
|
||||||
export type FloatOrdering = {
|
export type FloatOrdering = {
|
||||||
descending?: Scalars["Boolean"]["input"];
|
descending?: Scalars["Boolean"]["input"];
|
||||||
startingAt?: InputMaybe<Scalars["Float"]["input"]>;
|
startingAt?: InputMaybe<Scalars["Float"]["input"]>;
|
||||||
@@ -2373,6 +2390,7 @@ export type Mutation = {
|
|||||||
commentOnVideo: Scalars["Boolean"]["output"];
|
commentOnVideo: Scalars["Boolean"]["output"];
|
||||||
createBucketSet: BucketSetGql;
|
createBucketSet: BucketSetGql;
|
||||||
createChallenge: Challenge;
|
createChallenge: Challenge;
|
||||||
|
createCustomerPortalSession: CreateCustomerPortalSessionResultGql;
|
||||||
createRuleSet: RuleSet;
|
createRuleSet: RuleSet;
|
||||||
createSubscription: CreateSubscriptionResultGql;
|
createSubscription: CreateSubscriptionResultGql;
|
||||||
createUploadStream: CreateUploadStreamReturn;
|
createUploadStream: CreateUploadStreamReturn;
|
||||||
@@ -2388,6 +2406,7 @@ export type Mutation = {
|
|||||||
editUploadStream: Scalars["Boolean"]["output"];
|
editUploadStream: Scalars["Boolean"]["output"];
|
||||||
editUser: UserGql;
|
editUser: UserGql;
|
||||||
ensureStripeCustomerExists: UserGql;
|
ensureStripeCustomerExists: UserGql;
|
||||||
|
finalizePlayerAssignments: Array<PlayerClusterGql>;
|
||||||
findPrerecordTableLayout?: Maybe<HomographyInfoGql>;
|
findPrerecordTableLayout?: Maybe<HomographyInfoGql>;
|
||||||
followUser: UserGql;
|
followUser: UserGql;
|
||||||
getHlsInitUploadLink: GetUploadLinkReturn;
|
getHlsInitUploadLink: GetUploadLinkReturn;
|
||||||
@@ -2511,6 +2530,10 @@ export type MutationEditUserArgs = {
|
|||||||
input: EditUserInputGql;
|
input: EditUserInputGql;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type MutationFinalizePlayerAssignmentsArgs = {
|
||||||
|
input: FinalizePlayerAssignmentsInput;
|
||||||
|
};
|
||||||
|
|
||||||
export type MutationFindPrerecordTableLayoutArgs = {
|
export type MutationFindPrerecordTableLayoutArgs = {
|
||||||
b64Image: Scalars["String"]["input"];
|
b64Image: Scalars["String"]["input"];
|
||||||
videoId: Scalars["Int"]["input"];
|
videoId: Scalars["Int"]["input"];
|
||||||
@@ -2673,6 +2696,48 @@ export type PageInfoGql = {
|
|||||||
hasNextPage: Scalars["Boolean"]["output"];
|
hasNextPage: Scalars["Boolean"]["output"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type PlayerClusterGql = {
|
||||||
|
__typename?: "PlayerClusterGQL";
|
||||||
|
clusterId: Scalars["Int"]["output"];
|
||||||
|
confirmed: Scalars["Boolean"]["output"];
|
||||||
|
nShots: Scalars["Int"]["output"];
|
||||||
|
profileImageUri?: Maybe<Scalars["String"]["output"]>;
|
||||||
|
score?: Maybe<Scalars["Int"]["output"]>;
|
||||||
|
shots: Array<PlayerClusterShotGql>;
|
||||||
|
userId?: Maybe<Scalars["Int"]["output"]>;
|
||||||
|
username?: Maybe<Scalars["String"]["output"]>;
|
||||||
|
videoId: Scalars["Int"]["output"];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type PlayerClusterShotGql = {
|
||||||
|
__typename?: "PlayerClusterShotGQL";
|
||||||
|
bboxX1: Scalars["Int"]["output"];
|
||||||
|
bboxX2: Scalars["Int"]["output"];
|
||||||
|
bboxY1: Scalars["Int"]["output"];
|
||||||
|
bboxY2: Scalars["Int"]["output"];
|
||||||
|
confidence: Scalars["Float"]["output"];
|
||||||
|
cropUrl?: Maybe<Scalars["String"]["output"]>;
|
||||||
|
fullFrameUrl?: Maybe<Scalars["String"]["output"]>;
|
||||||
|
isConfirmed: Scalars["Boolean"]["output"];
|
||||||
|
shotId: Scalars["Int"]["output"];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type PlayerSummaryGql = {
|
||||||
|
__typename?: "PlayerSummaryGQL";
|
||||||
|
averageDifficulty?: Maybe<Scalars["Float"]["output"]>;
|
||||||
|
averageTimeBetweenShots?: Maybe<Scalars["Float"]["output"]>;
|
||||||
|
clusterId: Scalars["Int"]["output"];
|
||||||
|
longestRun: Scalars["Int"]["output"];
|
||||||
|
makePercentage: Scalars["Float"]["output"];
|
||||||
|
profileImageUri?: Maybe<Scalars["String"]["output"]>;
|
||||||
|
representativeFullFrameUrl?: Maybe<Scalars["String"]["output"]>;
|
||||||
|
score?: Maybe<Scalars["Int"]["output"]>;
|
||||||
|
totalShots: Scalars["Int"]["output"];
|
||||||
|
totalShotsMade: Scalars["Int"]["output"];
|
||||||
|
userId?: Maybe<Scalars["Int"]["output"]>;
|
||||||
|
username?: Maybe<Scalars["String"]["output"]>;
|
||||||
|
};
|
||||||
|
|
||||||
export enum PocketEnum {
|
export enum PocketEnum {
|
||||||
Corner = "CORNER",
|
Corner = "CORNER",
|
||||||
Side = "SIDE",
|
Side = "SIDE",
|
||||||
@@ -2783,6 +2848,7 @@ export type Query = {
|
|||||||
notifications: NotificationConnection;
|
notifications: NotificationConnection;
|
||||||
ruleSets: Array<RuleSet>;
|
ruleSets: Array<RuleSet>;
|
||||||
unreadNotificationCount: Scalars["Int"]["output"];
|
unreadNotificationCount: Scalars["Int"]["output"];
|
||||||
|
videoPlayerClusters: Array<PlayerClusterGql>;
|
||||||
waitFor: Scalars["Float"]["output"];
|
waitFor: Scalars["Float"]["output"];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2949,6 +3015,10 @@ export type QueryNotificationsArgs = {
|
|||||||
offset?: Scalars["Int"]["input"];
|
offset?: Scalars["Int"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type QueryVideoPlayerClustersArgs = {
|
||||||
|
videoId: Scalars["Int"]["input"];
|
||||||
|
};
|
||||||
|
|
||||||
export type QueryWaitForArgs = {
|
export type QueryWaitForArgs = {
|
||||||
duration: Scalars["Float"]["input"];
|
duration: Scalars["Float"]["input"];
|
||||||
};
|
};
|
||||||
@@ -3166,6 +3236,11 @@ export type ShotGql = {
|
|||||||
videoId: Scalars["Int"]["output"];
|
videoId: Scalars["Int"]["output"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type ShotMoveInput = {
|
||||||
|
newClusterId: Scalars["Int"]["input"];
|
||||||
|
shotId: Scalars["Int"]["input"];
|
||||||
|
};
|
||||||
|
|
||||||
export type ShotsOrderingComponent =
|
export type ShotsOrderingComponent =
|
||||||
| {
|
| {
|
||||||
difficulty: FloatOrdering;
|
difficulty: FloatOrdering;
|
||||||
@@ -3264,6 +3339,7 @@ export type StripeProductGql = {
|
|||||||
export type StripeSubscriptionOptionsGql = {
|
export type StripeSubscriptionOptionsGql = {
|
||||||
__typename?: "StripeSubscriptionOptionsGQL";
|
__typename?: "StripeSubscriptionOptionsGQL";
|
||||||
products: Array<StripeProductGql>;
|
products: Array<StripeProductGql>;
|
||||||
|
trialPeriodDays?: Maybe<Scalars["Int"]["output"]>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export enum StripeSubscriptionStatusEnum {
|
export enum StripeSubscriptionStatusEnum {
|
||||||
@@ -3501,6 +3577,7 @@ export type VideoGql = {
|
|||||||
medianRun?: Maybe<Scalars["Float"]["output"]>;
|
medianRun?: Maybe<Scalars["Float"]["output"]>;
|
||||||
name?: Maybe<Scalars["String"]["output"]>;
|
name?: Maybe<Scalars["String"]["output"]>;
|
||||||
owner?: Maybe<UserGql>;
|
owner?: Maybe<UserGql>;
|
||||||
|
playerSummaries: Array<PlayerSummaryGql>;
|
||||||
playlist?: Maybe<HlsPlaylistGql>;
|
playlist?: Maybe<HlsPlaylistGql>;
|
||||||
pocketSize?: Maybe<Scalars["Float"]["output"]>;
|
pocketSize?: Maybe<Scalars["Float"]["output"]>;
|
||||||
private: Scalars["Boolean"]["output"];
|
private: Scalars["Boolean"]["output"];
|
||||||
@@ -4097,15 +4174,11 @@ export type GetFeedQuery = {
|
|||||||
id: number;
|
id: number;
|
||||||
name?: string | null;
|
name?: string | null;
|
||||||
screenshotUri?: string | null;
|
screenshotUri?: string | null;
|
||||||
totalShotsMade: number;
|
|
||||||
totalShots: number;
|
totalShots: number;
|
||||||
makePercentage: number;
|
makePercentage: number;
|
||||||
averageTimeBetweenShots?: number | null;
|
averageTimeBetweenShots?: number | null;
|
||||||
averageDifficulty?: number | null;
|
averageDifficulty?: number | null;
|
||||||
createdAt?: any | null;
|
|
||||||
updatedAt?: any | null;
|
|
||||||
startTime?: any | null;
|
startTime?: any | null;
|
||||||
endTime?: any | null;
|
|
||||||
private: boolean;
|
private: boolean;
|
||||||
elapsedTime?: number | null;
|
elapsedTime?: number | null;
|
||||||
tableSize: number;
|
tableSize: number;
|
||||||
@@ -4120,7 +4193,6 @@ export type GetFeedQuery = {
|
|||||||
__typename?: "UploadStreamGQL";
|
__typename?: "UploadStreamGQL";
|
||||||
id: string;
|
id: string;
|
||||||
lastIntendedSegmentBound?: number | null;
|
lastIntendedSegmentBound?: number | null;
|
||||||
isCompleted: boolean;
|
|
||||||
streamSegmentType: StreamSegmentTypeEnum;
|
streamSegmentType: StreamSegmentTypeEnum;
|
||||||
} | null;
|
} | null;
|
||||||
tags: Array<{
|
tags: Array<{
|
||||||
@@ -4128,18 +4200,25 @@ export type GetFeedQuery = {
|
|||||||
name: string;
|
name: string;
|
||||||
tagClasses: Array<{ __typename?: "VideoTagClass"; 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;
|
||||||
|
averageDifficulty?: number | null;
|
||||||
|
averageTimeBetweenShots?: number | null;
|
||||||
|
}>;
|
||||||
currentProcessing?: {
|
currentProcessing?: {
|
||||||
__typename?: "VideoProcessingGQL";
|
__typename?: "VideoProcessingGQL";
|
||||||
id: number;
|
id: number;
|
||||||
status: ProcessingStatusEnum;
|
status: ProcessingStatusEnum;
|
||||||
errors: Array<{
|
|
||||||
__typename?: "VideoProcessingErrorGQL";
|
|
||||||
message: string;
|
|
||||||
}>;
|
|
||||||
statuses: Array<{
|
|
||||||
__typename?: "VideoProcessingStatusGQL";
|
|
||||||
status: ProcessingStatusEnum;
|
|
||||||
}>;
|
|
||||||
} | null;
|
} | null;
|
||||||
reactions: Array<{
|
reactions: Array<{
|
||||||
__typename?: "ReactionGQL";
|
__typename?: "ReactionGQL";
|
||||||
@@ -4199,15 +4278,11 @@ export type VideoCardFieldsFragment = {
|
|||||||
id: number;
|
id: number;
|
||||||
name?: string | null;
|
name?: string | null;
|
||||||
screenshotUri?: string | null;
|
screenshotUri?: string | null;
|
||||||
totalShotsMade: number;
|
|
||||||
totalShots: number;
|
totalShots: number;
|
||||||
makePercentage: number;
|
makePercentage: number;
|
||||||
averageTimeBetweenShots?: number | null;
|
averageTimeBetweenShots?: number | null;
|
||||||
averageDifficulty?: number | null;
|
averageDifficulty?: number | null;
|
||||||
createdAt?: any | null;
|
|
||||||
updatedAt?: any | null;
|
|
||||||
startTime?: any | null;
|
startTime?: any | null;
|
||||||
endTime?: any | null;
|
|
||||||
private: boolean;
|
private: boolean;
|
||||||
elapsedTime?: number | null;
|
elapsedTime?: number | null;
|
||||||
tableSize: number;
|
tableSize: number;
|
||||||
@@ -4222,7 +4297,6 @@ export type VideoCardFieldsFragment = {
|
|||||||
__typename?: "UploadStreamGQL";
|
__typename?: "UploadStreamGQL";
|
||||||
id: string;
|
id: string;
|
||||||
lastIntendedSegmentBound?: number | null;
|
lastIntendedSegmentBound?: number | null;
|
||||||
isCompleted: boolean;
|
|
||||||
streamSegmentType: StreamSegmentTypeEnum;
|
streamSegmentType: StreamSegmentTypeEnum;
|
||||||
} | null;
|
} | null;
|
||||||
tags: Array<{
|
tags: Array<{
|
||||||
@@ -4230,15 +4304,25 @@ export type VideoCardFieldsFragment = {
|
|||||||
name: string;
|
name: string;
|
||||||
tagClasses: Array<{ __typename?: "VideoTagClass"; 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;
|
||||||
|
averageDifficulty?: number | null;
|
||||||
|
averageTimeBetweenShots?: number | null;
|
||||||
|
}>;
|
||||||
currentProcessing?: {
|
currentProcessing?: {
|
||||||
__typename?: "VideoProcessingGQL";
|
__typename?: "VideoProcessingGQL";
|
||||||
id: number;
|
id: number;
|
||||||
status: ProcessingStatusEnum;
|
status: ProcessingStatusEnum;
|
||||||
errors: Array<{ __typename?: "VideoProcessingErrorGQL"; message: string }>;
|
|
||||||
statuses: Array<{
|
|
||||||
__typename?: "VideoProcessingStatusGQL";
|
|
||||||
status: ProcessingStatusEnum;
|
|
||||||
}>;
|
|
||||||
} | null;
|
} | null;
|
||||||
reactions: Array<{
|
reactions: Array<{
|
||||||
__typename?: "ReactionGQL";
|
__typename?: "ReactionGQL";
|
||||||
@@ -4312,15 +4396,11 @@ export type GetVideoFeedQuery = {
|
|||||||
id: number;
|
id: number;
|
||||||
name?: string | null;
|
name?: string | null;
|
||||||
screenshotUri?: string | null;
|
screenshotUri?: string | null;
|
||||||
totalShotsMade: number;
|
|
||||||
totalShots: number;
|
totalShots: number;
|
||||||
makePercentage: number;
|
makePercentage: number;
|
||||||
averageTimeBetweenShots?: number | null;
|
averageTimeBetweenShots?: number | null;
|
||||||
averageDifficulty?: number | null;
|
averageDifficulty?: number | null;
|
||||||
createdAt?: any | null;
|
|
||||||
updatedAt?: any | null;
|
|
||||||
startTime?: any | null;
|
startTime?: any | null;
|
||||||
endTime?: any | null;
|
|
||||||
private: boolean;
|
private: boolean;
|
||||||
elapsedTime?: number | null;
|
elapsedTime?: number | null;
|
||||||
tableSize: number;
|
tableSize: number;
|
||||||
@@ -4335,7 +4415,6 @@ export type GetVideoFeedQuery = {
|
|||||||
__typename?: "UploadStreamGQL";
|
__typename?: "UploadStreamGQL";
|
||||||
id: string;
|
id: string;
|
||||||
lastIntendedSegmentBound?: number | null;
|
lastIntendedSegmentBound?: number | null;
|
||||||
isCompleted: boolean;
|
|
||||||
streamSegmentType: StreamSegmentTypeEnum;
|
streamSegmentType: StreamSegmentTypeEnum;
|
||||||
} | null;
|
} | null;
|
||||||
tags: Array<{
|
tags: Array<{
|
||||||
@@ -4343,18 +4422,25 @@ export type GetVideoFeedQuery = {
|
|||||||
name: string;
|
name: string;
|
||||||
tagClasses: Array<{ __typename?: "VideoTagClass"; 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;
|
||||||
|
averageDifficulty?: number | null;
|
||||||
|
averageTimeBetweenShots?: number | null;
|
||||||
|
}>;
|
||||||
currentProcessing?: {
|
currentProcessing?: {
|
||||||
__typename?: "VideoProcessingGQL";
|
__typename?: "VideoProcessingGQL";
|
||||||
id: number;
|
id: number;
|
||||||
status: ProcessingStatusEnum;
|
status: ProcessingStatusEnum;
|
||||||
errors: Array<{
|
|
||||||
__typename?: "VideoProcessingErrorGQL";
|
|
||||||
message: string;
|
|
||||||
}>;
|
|
||||||
statuses: Array<{
|
|
||||||
__typename?: "VideoProcessingStatusGQL";
|
|
||||||
status: ProcessingStatusEnum;
|
|
||||||
}>;
|
|
||||||
} | null;
|
} | null;
|
||||||
reactions: Array<{
|
reactions: Array<{
|
||||||
__typename?: "ReactionGQL";
|
__typename?: "ReactionGQL";
|
||||||
@@ -4749,6 +4835,18 @@ export type CreateSubscriptionMutation = {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type CreateCustomerPortalSessionMutationVariables = Exact<{
|
||||||
|
[key: string]: never;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type CreateCustomerPortalSessionMutation = {
|
||||||
|
__typename?: "Mutation";
|
||||||
|
createCustomerPortalSession: {
|
||||||
|
__typename?: "CreateCustomerPortalSessionResultGQL";
|
||||||
|
portalUrl: string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
export type GetAvailableSubscriptionOptionsQueryVariables = Exact<{
|
export type GetAvailableSubscriptionOptionsQueryVariables = Exact<{
|
||||||
[key: string]: never;
|
[key: string]: never;
|
||||||
}>;
|
}>;
|
||||||
@@ -4757,6 +4855,7 @@ export type GetAvailableSubscriptionOptionsQuery = {
|
|||||||
__typename?: "Query";
|
__typename?: "Query";
|
||||||
getAvailableSubscriptionOptions: {
|
getAvailableSubscriptionOptions: {
|
||||||
__typename?: "StripeSubscriptionOptionsGQL";
|
__typename?: "StripeSubscriptionOptionsGQL";
|
||||||
|
trialPeriodDays?: number | null;
|
||||||
products: Array<{
|
products: Array<{
|
||||||
__typename?: "StripeProductGQL";
|
__typename?: "StripeProductGQL";
|
||||||
id: string;
|
id: string;
|
||||||
@@ -4908,6 +5007,121 @@ export type GetRunsWithTimestampsQuery = {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type PlayerSummaryFieldsFragment = {
|
||||||
|
__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;
|
||||||
|
averageDifficulty?: number | null;
|
||||||
|
averageTimeBetweenShots?: number | null;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type PlayerClusterShotFieldsFragment = {
|
||||||
|
__typename?: "PlayerClusterShotGQL";
|
||||||
|
shotId: number;
|
||||||
|
bboxX1: number;
|
||||||
|
bboxY1: number;
|
||||||
|
bboxX2: number;
|
||||||
|
bboxY2: number;
|
||||||
|
confidence: number;
|
||||||
|
isConfirmed: boolean;
|
||||||
|
cropUrl?: string | null;
|
||||||
|
fullFrameUrl?: string | null;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type PlayerClusterFieldsFragment = {
|
||||||
|
__typename?: "PlayerClusterGQL";
|
||||||
|
videoId: number;
|
||||||
|
clusterId: number;
|
||||||
|
nShots: number;
|
||||||
|
userId?: number | null;
|
||||||
|
username?: string | null;
|
||||||
|
profileImageUri?: string | null;
|
||||||
|
confirmed: boolean;
|
||||||
|
score?: number | null;
|
||||||
|
shots: Array<{
|
||||||
|
__typename?: "PlayerClusterShotGQL";
|
||||||
|
shotId: number;
|
||||||
|
bboxX1: number;
|
||||||
|
bboxY1: number;
|
||||||
|
bboxX2: number;
|
||||||
|
bboxY2: number;
|
||||||
|
confidence: number;
|
||||||
|
isConfirmed: boolean;
|
||||||
|
cropUrl?: string | null;
|
||||||
|
fullFrameUrl?: string | null;
|
||||||
|
}>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type VideoPlayerClustersQueryVariables = Exact<{
|
||||||
|
videoId: Scalars["Int"]["input"];
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type VideoPlayerClustersQuery = {
|
||||||
|
__typename?: "Query";
|
||||||
|
videoPlayerClusters: Array<{
|
||||||
|
__typename?: "PlayerClusterGQL";
|
||||||
|
videoId: number;
|
||||||
|
clusterId: number;
|
||||||
|
nShots: number;
|
||||||
|
userId?: number | null;
|
||||||
|
username?: string | null;
|
||||||
|
profileImageUri?: string | null;
|
||||||
|
confirmed: boolean;
|
||||||
|
score?: number | null;
|
||||||
|
shots: Array<{
|
||||||
|
__typename?: "PlayerClusterShotGQL";
|
||||||
|
shotId: number;
|
||||||
|
bboxX1: number;
|
||||||
|
bboxY1: number;
|
||||||
|
bboxX2: number;
|
||||||
|
bboxY2: number;
|
||||||
|
confidence: number;
|
||||||
|
isConfirmed: boolean;
|
||||||
|
cropUrl?: string | null;
|
||||||
|
fullFrameUrl?: string | null;
|
||||||
|
}>;
|
||||||
|
}>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type FinalizePlayerAssignmentsMutationVariables = Exact<{
|
||||||
|
input: FinalizePlayerAssignmentsInput;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type FinalizePlayerAssignmentsMutation = {
|
||||||
|
__typename?: "Mutation";
|
||||||
|
finalizePlayerAssignments: Array<{
|
||||||
|
__typename?: "PlayerClusterGQL";
|
||||||
|
videoId: number;
|
||||||
|
clusterId: number;
|
||||||
|
nShots: number;
|
||||||
|
userId?: number | null;
|
||||||
|
username?: string | null;
|
||||||
|
profileImageUri?: string | null;
|
||||||
|
confirmed: boolean;
|
||||||
|
score?: number | null;
|
||||||
|
shots: Array<{
|
||||||
|
__typename?: "PlayerClusterShotGQL";
|
||||||
|
shotId: number;
|
||||||
|
bboxX1: number;
|
||||||
|
bboxY1: number;
|
||||||
|
bboxX2: number;
|
||||||
|
bboxY2: number;
|
||||||
|
confidence: number;
|
||||||
|
isConfirmed: boolean;
|
||||||
|
cropUrl?: string | null;
|
||||||
|
fullFrameUrl?: string | null;
|
||||||
|
}>;
|
||||||
|
}>;
|
||||||
|
};
|
||||||
|
|
||||||
export type GetSerializedShotPathsQueryVariables = Exact<{
|
export type GetSerializedShotPathsQueryVariables = Exact<{
|
||||||
filterInput: FilterInput;
|
filterInput: FilterInput;
|
||||||
}>;
|
}>;
|
||||||
@@ -5844,6 +6058,21 @@ export type GetVideoDetailsQuery = {
|
|||||||
name: string;
|
name: string;
|
||||||
tagClasses: Array<{ __typename?: "VideoTagClass"; 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;
|
||||||
|
averageDifficulty?: number | null;
|
||||||
|
averageTimeBetweenShots?: number | null;
|
||||||
|
}>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -6501,6 +6730,22 @@ export type GetUploadStreamsWithDetailsQuery = {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const PlayerSummaryFieldsFragmentDoc = gql`
|
||||||
|
fragment PlayerSummaryFields on PlayerSummaryGQL {
|
||||||
|
clusterId
|
||||||
|
userId
|
||||||
|
username
|
||||||
|
profileImageUri
|
||||||
|
representativeFullFrameUrl
|
||||||
|
totalShots
|
||||||
|
totalShotsMade
|
||||||
|
makePercentage
|
||||||
|
score
|
||||||
|
longestRun
|
||||||
|
averageDifficulty
|
||||||
|
averageTimeBetweenShots
|
||||||
|
}
|
||||||
|
`;
|
||||||
export const UserSocialsFieldsFragmentDoc = gql`
|
export const UserSocialsFieldsFragmentDoc = gql`
|
||||||
fragment UserSocialsFields on UserGQL {
|
fragment UserSocialsFields on UserGQL {
|
||||||
id
|
id
|
||||||
@@ -6519,41 +6764,32 @@ export const VideoCardFieldsFragmentDoc = gql`
|
|||||||
}
|
}
|
||||||
name
|
name
|
||||||
screenshotUri
|
screenshotUri
|
||||||
totalShotsMade
|
|
||||||
totalShots
|
totalShots
|
||||||
makePercentage
|
makePercentage
|
||||||
averageTimeBetweenShots
|
averageTimeBetweenShots
|
||||||
averageDifficulty
|
averageDifficulty
|
||||||
createdAt
|
|
||||||
updatedAt
|
|
||||||
startTime
|
startTime
|
||||||
endTime
|
|
||||||
private
|
private
|
||||||
elapsedTime
|
elapsedTime
|
||||||
screenshotUri
|
|
||||||
stream {
|
stream {
|
||||||
id
|
id
|
||||||
lastIntendedSegmentBound
|
lastIntendedSegmentBound
|
||||||
isCompleted
|
|
||||||
streamSegmentType
|
streamSegmentType
|
||||||
}
|
}
|
||||||
tableSize
|
tableSize
|
||||||
pocketSize
|
pocketSize
|
||||||
tags {
|
tags {
|
||||||
|
name
|
||||||
tagClasses {
|
tagClasses {
|
||||||
name
|
name
|
||||||
}
|
}
|
||||||
name
|
}
|
||||||
|
playerSummaries {
|
||||||
|
...PlayerSummaryFields
|
||||||
}
|
}
|
||||||
currentProcessing {
|
currentProcessing {
|
||||||
id
|
id
|
||||||
errors {
|
|
||||||
message
|
|
||||||
}
|
|
||||||
status
|
status
|
||||||
statuses {
|
|
||||||
status
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
reactions {
|
reactions {
|
||||||
videoId
|
videoId
|
||||||
@@ -6577,6 +6813,7 @@ export const VideoCardFieldsFragmentDoc = gql`
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
${PlayerSummaryFieldsFragmentDoc}
|
||||||
${UserSocialsFieldsFragmentDoc}
|
${UserSocialsFieldsFragmentDoc}
|
||||||
`;
|
`;
|
||||||
export const MedalFieldsFragmentDoc = gql`
|
export const MedalFieldsFragmentDoc = gql`
|
||||||
@@ -6626,6 +6863,35 @@ export const PocketingIntentionFragmentFragmentDoc = gql`
|
|||||||
difficulty
|
difficulty
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
export const PlayerClusterShotFieldsFragmentDoc = gql`
|
||||||
|
fragment PlayerClusterShotFields on PlayerClusterShotGQL {
|
||||||
|
shotId
|
||||||
|
bboxX1
|
||||||
|
bboxY1
|
||||||
|
bboxX2
|
||||||
|
bboxY2
|
||||||
|
confidence
|
||||||
|
isConfirmed
|
||||||
|
cropUrl
|
||||||
|
fullFrameUrl
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
export const PlayerClusterFieldsFragmentDoc = gql`
|
||||||
|
fragment PlayerClusterFields on PlayerClusterGQL {
|
||||||
|
videoId
|
||||||
|
clusterId
|
||||||
|
nShots
|
||||||
|
userId
|
||||||
|
username
|
||||||
|
profileImageUri
|
||||||
|
confirmed
|
||||||
|
score
|
||||||
|
shots {
|
||||||
|
...PlayerClusterShotFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${PlayerClusterShotFieldsFragmentDoc}
|
||||||
|
`;
|
||||||
export const ShotWithAllFeaturesFragmentDoc = gql`
|
export const ShotWithAllFeaturesFragmentDoc = gql`
|
||||||
fragment ShotWithAllFeatures on ShotGQL {
|
fragment ShotWithAllFeatures on ShotGQL {
|
||||||
id
|
id
|
||||||
@@ -9652,9 +9918,60 @@ export type CreateSubscriptionMutationOptions = Apollo.BaseMutationOptions<
|
|||||||
CreateSubscriptionMutation,
|
CreateSubscriptionMutation,
|
||||||
CreateSubscriptionMutationVariables
|
CreateSubscriptionMutationVariables
|
||||||
>;
|
>;
|
||||||
|
export const CreateCustomerPortalSessionDocument = gql`
|
||||||
|
mutation CreateCustomerPortalSession {
|
||||||
|
createCustomerPortalSession {
|
||||||
|
portalUrl
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
export type CreateCustomerPortalSessionMutationFn = Apollo.MutationFunction<
|
||||||
|
CreateCustomerPortalSessionMutation,
|
||||||
|
CreateCustomerPortalSessionMutationVariables
|
||||||
|
>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __useCreateCustomerPortalSessionMutation__
|
||||||
|
*
|
||||||
|
* To run a mutation, you first call `useCreateCustomerPortalSessionMutation` within a React component and pass it any options that fit your needs.
|
||||||
|
* When your component renders, `useCreateCustomerPortalSessionMutation` 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 [createCustomerPortalSessionMutation, { data, loading, error }] = useCreateCustomerPortalSessionMutation({
|
||||||
|
* variables: {
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*/
|
||||||
|
export function useCreateCustomerPortalSessionMutation(
|
||||||
|
baseOptions?: Apollo.MutationHookOptions<
|
||||||
|
CreateCustomerPortalSessionMutation,
|
||||||
|
CreateCustomerPortalSessionMutationVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useMutation<
|
||||||
|
CreateCustomerPortalSessionMutation,
|
||||||
|
CreateCustomerPortalSessionMutationVariables
|
||||||
|
>(CreateCustomerPortalSessionDocument, options);
|
||||||
|
}
|
||||||
|
export type CreateCustomerPortalSessionMutationHookResult = ReturnType<
|
||||||
|
typeof useCreateCustomerPortalSessionMutation
|
||||||
|
>;
|
||||||
|
export type CreateCustomerPortalSessionMutationResult =
|
||||||
|
Apollo.MutationResult<CreateCustomerPortalSessionMutation>;
|
||||||
|
export type CreateCustomerPortalSessionMutationOptions =
|
||||||
|
Apollo.BaseMutationOptions<
|
||||||
|
CreateCustomerPortalSessionMutation,
|
||||||
|
CreateCustomerPortalSessionMutationVariables
|
||||||
|
>;
|
||||||
export const GetAvailableSubscriptionOptionsDocument = gql`
|
export const GetAvailableSubscriptionOptionsDocument = gql`
|
||||||
query GetAvailableSubscriptionOptions {
|
query GetAvailableSubscriptionOptions {
|
||||||
getAvailableSubscriptionOptions {
|
getAvailableSubscriptionOptions {
|
||||||
|
trialPeriodDays
|
||||||
products {
|
products {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
@@ -10178,6 +10495,132 @@ export type GetRunsWithTimestampsQueryResult = Apollo.QueryResult<
|
|||||||
GetRunsWithTimestampsQuery,
|
GetRunsWithTimestampsQuery,
|
||||||
GetRunsWithTimestampsQueryVariables
|
GetRunsWithTimestampsQueryVariables
|
||||||
>;
|
>;
|
||||||
|
export const VideoPlayerClustersDocument = gql`
|
||||||
|
query VideoPlayerClusters($videoId: Int!) {
|
||||||
|
videoPlayerClusters(videoId: $videoId) {
|
||||||
|
...PlayerClusterFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${PlayerClusterFieldsFragmentDoc}
|
||||||
|
`;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __useVideoPlayerClustersQuery__
|
||||||
|
*
|
||||||
|
* To run a query within a React component, call `useVideoPlayerClustersQuery` and pass it any options that fit your needs.
|
||||||
|
* When your component renders, `useVideoPlayerClustersQuery` 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 } = useVideoPlayerClustersQuery({
|
||||||
|
* variables: {
|
||||||
|
* videoId: // value for 'videoId'
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*/
|
||||||
|
export function useVideoPlayerClustersQuery(
|
||||||
|
baseOptions: Apollo.QueryHookOptions<
|
||||||
|
VideoPlayerClustersQuery,
|
||||||
|
VideoPlayerClustersQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useQuery<
|
||||||
|
VideoPlayerClustersQuery,
|
||||||
|
VideoPlayerClustersQueryVariables
|
||||||
|
>(VideoPlayerClustersDocument, options);
|
||||||
|
}
|
||||||
|
export function useVideoPlayerClustersLazyQuery(
|
||||||
|
baseOptions?: Apollo.LazyQueryHookOptions<
|
||||||
|
VideoPlayerClustersQuery,
|
||||||
|
VideoPlayerClustersQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useLazyQuery<
|
||||||
|
VideoPlayerClustersQuery,
|
||||||
|
VideoPlayerClustersQueryVariables
|
||||||
|
>(VideoPlayerClustersDocument, options);
|
||||||
|
}
|
||||||
|
export function useVideoPlayerClustersSuspenseQuery(
|
||||||
|
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
||||||
|
VideoPlayerClustersQuery,
|
||||||
|
VideoPlayerClustersQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useSuspenseQuery<
|
||||||
|
VideoPlayerClustersQuery,
|
||||||
|
VideoPlayerClustersQueryVariables
|
||||||
|
>(VideoPlayerClustersDocument, options);
|
||||||
|
}
|
||||||
|
export type VideoPlayerClustersQueryHookResult = ReturnType<
|
||||||
|
typeof useVideoPlayerClustersQuery
|
||||||
|
>;
|
||||||
|
export type VideoPlayerClustersLazyQueryHookResult = ReturnType<
|
||||||
|
typeof useVideoPlayerClustersLazyQuery
|
||||||
|
>;
|
||||||
|
export type VideoPlayerClustersSuspenseQueryHookResult = ReturnType<
|
||||||
|
typeof useVideoPlayerClustersSuspenseQuery
|
||||||
|
>;
|
||||||
|
export type VideoPlayerClustersQueryResult = Apollo.QueryResult<
|
||||||
|
VideoPlayerClustersQuery,
|
||||||
|
VideoPlayerClustersQueryVariables
|
||||||
|
>;
|
||||||
|
export const FinalizePlayerAssignmentsDocument = gql`
|
||||||
|
mutation FinalizePlayerAssignments($input: FinalizePlayerAssignmentsInput!) {
|
||||||
|
finalizePlayerAssignments(input: $input) {
|
||||||
|
...PlayerClusterFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${PlayerClusterFieldsFragmentDoc}
|
||||||
|
`;
|
||||||
|
export type FinalizePlayerAssignmentsMutationFn = Apollo.MutationFunction<
|
||||||
|
FinalizePlayerAssignmentsMutation,
|
||||||
|
FinalizePlayerAssignmentsMutationVariables
|
||||||
|
>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __useFinalizePlayerAssignmentsMutation__
|
||||||
|
*
|
||||||
|
* To run a mutation, you first call `useFinalizePlayerAssignmentsMutation` within a React component and pass it any options that fit your needs.
|
||||||
|
* When your component renders, `useFinalizePlayerAssignmentsMutation` 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 [finalizePlayerAssignmentsMutation, { data, loading, error }] = useFinalizePlayerAssignmentsMutation({
|
||||||
|
* variables: {
|
||||||
|
* input: // value for 'input'
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*/
|
||||||
|
export function useFinalizePlayerAssignmentsMutation(
|
||||||
|
baseOptions?: Apollo.MutationHookOptions<
|
||||||
|
FinalizePlayerAssignmentsMutation,
|
||||||
|
FinalizePlayerAssignmentsMutationVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useMutation<
|
||||||
|
FinalizePlayerAssignmentsMutation,
|
||||||
|
FinalizePlayerAssignmentsMutationVariables
|
||||||
|
>(FinalizePlayerAssignmentsDocument, options);
|
||||||
|
}
|
||||||
|
export type FinalizePlayerAssignmentsMutationHookResult = ReturnType<
|
||||||
|
typeof useFinalizePlayerAssignmentsMutation
|
||||||
|
>;
|
||||||
|
export type FinalizePlayerAssignmentsMutationResult =
|
||||||
|
Apollo.MutationResult<FinalizePlayerAssignmentsMutation>;
|
||||||
|
export type FinalizePlayerAssignmentsMutationOptions =
|
||||||
|
Apollo.BaseMutationOptions<
|
||||||
|
FinalizePlayerAssignmentsMutation,
|
||||||
|
FinalizePlayerAssignmentsMutationVariables
|
||||||
|
>;
|
||||||
export const GetSerializedShotPathsDocument = gql`
|
export const GetSerializedShotPathsDocument = gql`
|
||||||
query GetSerializedShotPaths($filterInput: FilterInput!) {
|
query GetSerializedShotPaths($filterInput: FilterInput!) {
|
||||||
getShots(filterInput: $filterInput) {
|
getShots(filterInput: $filterInput) {
|
||||||
@@ -12367,8 +12810,12 @@ export const GetVideoDetailsDocument = gql`
|
|||||||
}
|
}
|
||||||
name
|
name
|
||||||
}
|
}
|
||||||
|
playerSummaries {
|
||||||
|
...PlayerSummaryFields
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
${PlayerSummaryFieldsFragmentDoc}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -31,41 +31,32 @@ fragment VideoCardFields on VideoGQL {
|
|||||||
}
|
}
|
||||||
name
|
name
|
||||||
screenshotUri
|
screenshotUri
|
||||||
totalShotsMade
|
|
||||||
totalShots
|
totalShots
|
||||||
makePercentage
|
makePercentage
|
||||||
averageTimeBetweenShots
|
averageTimeBetweenShots
|
||||||
averageDifficulty
|
averageDifficulty
|
||||||
createdAt
|
|
||||||
updatedAt
|
|
||||||
startTime
|
startTime
|
||||||
endTime
|
|
||||||
private
|
private
|
||||||
elapsedTime
|
elapsedTime
|
||||||
screenshotUri
|
|
||||||
stream {
|
stream {
|
||||||
id
|
id
|
||||||
lastIntendedSegmentBound
|
lastIntendedSegmentBound
|
||||||
isCompleted
|
|
||||||
streamSegmentType
|
streamSegmentType
|
||||||
}
|
}
|
||||||
tableSize
|
tableSize
|
||||||
pocketSize
|
pocketSize
|
||||||
tags {
|
tags {
|
||||||
|
name
|
||||||
tagClasses {
|
tagClasses {
|
||||||
name
|
name
|
||||||
}
|
}
|
||||||
name
|
}
|
||||||
|
playerSummaries {
|
||||||
|
...PlayerSummaryFields
|
||||||
}
|
}
|
||||||
currentProcessing {
|
currentProcessing {
|
||||||
id
|
id
|
||||||
errors {
|
|
||||||
message
|
|
||||||
}
|
|
||||||
status
|
status
|
||||||
statuses {
|
|
||||||
status
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
reactions {
|
reactions {
|
||||||
videoId
|
videoId
|
||||||
|
|||||||
@@ -20,8 +20,15 @@ mutation CreateSubscription($priceId: String!) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mutation CreateCustomerPortalSession {
|
||||||
|
createCustomerPortalSession {
|
||||||
|
portalUrl
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
query GetAvailableSubscriptionOptions {
|
query GetAvailableSubscriptionOptions {
|
||||||
getAvailableSubscriptionOptions {
|
getAvailableSubscriptionOptions {
|
||||||
|
trialPeriodDays
|
||||||
products {
|
products {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
|
|||||||
52
src/operations/shooter.gql
Normal file
52
src/operations/shooter.gql
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
fragment PlayerSummaryFields on PlayerSummaryGQL {
|
||||||
|
clusterId
|
||||||
|
userId
|
||||||
|
username
|
||||||
|
profileImageUri
|
||||||
|
representativeFullFrameUrl
|
||||||
|
totalShots
|
||||||
|
totalShotsMade
|
||||||
|
makePercentage
|
||||||
|
score
|
||||||
|
longestRun
|
||||||
|
averageDifficulty
|
||||||
|
averageTimeBetweenShots
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment PlayerClusterShotFields on PlayerClusterShotGQL {
|
||||||
|
shotId
|
||||||
|
bboxX1
|
||||||
|
bboxY1
|
||||||
|
bboxX2
|
||||||
|
bboxY2
|
||||||
|
confidence
|
||||||
|
isConfirmed
|
||||||
|
cropUrl
|
||||||
|
fullFrameUrl
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment PlayerClusterFields on PlayerClusterGQL {
|
||||||
|
videoId
|
||||||
|
clusterId
|
||||||
|
nShots
|
||||||
|
userId
|
||||||
|
username
|
||||||
|
profileImageUri
|
||||||
|
confirmed
|
||||||
|
score
|
||||||
|
shots {
|
||||||
|
...PlayerClusterShotFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query VideoPlayerClusters($videoId: Int!) {
|
||||||
|
videoPlayerClusters(videoId: $videoId) {
|
||||||
|
...PlayerClusterFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mutation FinalizePlayerAssignments($input: FinalizePlayerAssignmentsInput!) {
|
||||||
|
finalizePlayerAssignments(input: $input) {
|
||||||
|
...PlayerClusterFields
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -83,6 +83,9 @@ query GetVideoDetails($videoId: Int!) {
|
|||||||
}
|
}
|
||||||
name
|
name
|
||||||
}
|
}
|
||||||
|
playerSummaries {
|
||||||
|
...PlayerSummaryFields
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ type Query {
|
|||||||
getLongestRunsLeaderboard(
|
getLongestRunsLeaderboard(
|
||||||
interval: TimeInterval = null
|
interval: TimeInterval = null
|
||||||
when: DateTime = null
|
when: DateTime = null
|
||||||
limit: Int! = 100
|
limit: Int! = 50
|
||||||
requiredTags: [String!] = null
|
requiredTags: [String!] = null
|
||||||
): RunLeaderboardGQL!
|
): RunLeaderboardGQL!
|
||||||
getMakesLeaderboard(
|
getMakesLeaderboard(
|
||||||
@@ -49,6 +49,7 @@ type Query {
|
|||||||
limit: Int! = 500
|
limit: Int! = 500
|
||||||
countRespectsLimit: Boolean! = false
|
countRespectsLimit: Boolean! = false
|
||||||
): GetRunsResult!
|
): GetRunsResult!
|
||||||
|
videoPlayerClusters(videoId: Int!): [PlayerClusterGQL!]!
|
||||||
getShotAnnotationTypes(errorTypes: Boolean = false): [ShotAnnotationTypeGQL!]!
|
getShotAnnotationTypes(errorTypes: Boolean = false): [ShotAnnotationTypeGQL!]!
|
||||||
getTableState(
|
getTableState(
|
||||||
b64Image: String!
|
b64Image: String!
|
||||||
@@ -405,6 +406,7 @@ type VideoGQL {
|
|||||||
currentProcessing: VideoProcessingGQL
|
currentProcessing: VideoProcessingGQL
|
||||||
reactions: [ReactionGQL!]!
|
reactions: [ReactionGQL!]!
|
||||||
comments: [CommentGQL!]!
|
comments: [CommentGQL!]!
|
||||||
|
playerSummaries: [PlayerSummaryGQL!]!
|
||||||
}
|
}
|
||||||
|
|
||||||
type ShotGQL {
|
type ShotGQL {
|
||||||
@@ -664,6 +666,21 @@ type CommentGQL {
|
|||||||
replies: [CommentGQL!]!
|
replies: [CommentGQL!]!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PlayerSummaryGQL {
|
||||||
|
clusterId: Int!
|
||||||
|
userId: Int
|
||||||
|
username: String
|
||||||
|
profileImageUri: String
|
||||||
|
representativeFullFrameUrl: String
|
||||||
|
totalShots: Int!
|
||||||
|
totalShotsMade: Int!
|
||||||
|
makePercentage: Float!
|
||||||
|
score: Int
|
||||||
|
longestRun: Int!
|
||||||
|
averageDifficulty: Float
|
||||||
|
averageTimeBetweenShots: Float
|
||||||
|
}
|
||||||
|
|
||||||
type DeployedConfigGQL {
|
type DeployedConfigGQL {
|
||||||
allowNewUsers: Boolean!
|
allowNewUsers: Boolean!
|
||||||
firebase: Boolean!
|
firebase: Boolean!
|
||||||
@@ -860,6 +877,30 @@ input DatetimeOrdering {
|
|||||||
startingAt: DateTime = null
|
startingAt: DateTime = null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PlayerClusterGQL {
|
||||||
|
videoId: Int!
|
||||||
|
clusterId: Int!
|
||||||
|
nShots: Int!
|
||||||
|
userId: Int
|
||||||
|
username: String
|
||||||
|
profileImageUri: String
|
||||||
|
confirmed: Boolean!
|
||||||
|
score: Int
|
||||||
|
shots: [PlayerClusterShotGQL!]!
|
||||||
|
}
|
||||||
|
|
||||||
|
type PlayerClusterShotGQL {
|
||||||
|
shotId: Int!
|
||||||
|
bboxX1: Int!
|
||||||
|
bboxY1: Int!
|
||||||
|
bboxX2: Int!
|
||||||
|
bboxY2: Int!
|
||||||
|
confidence: Float!
|
||||||
|
isConfirmed: Boolean!
|
||||||
|
cropUrl: String
|
||||||
|
fullFrameUrl: String
|
||||||
|
}
|
||||||
|
|
||||||
type TableStateGQL {
|
type TableStateGQL {
|
||||||
identifierToPosition: [[Float!]!]!
|
identifierToPosition: [[Float!]!]!
|
||||||
homography: HomographyInfoGQL
|
homography: HomographyInfoGQL
|
||||||
@@ -940,6 +981,7 @@ type UserRelationship {
|
|||||||
|
|
||||||
type StripeSubscriptionOptionsGQL {
|
type StripeSubscriptionOptionsGQL {
|
||||||
products: [StripeProductGQL!]!
|
products: [StripeProductGQL!]!
|
||||||
|
trialPeriodDays: Int
|
||||||
}
|
}
|
||||||
|
|
||||||
type StripeProductGQL {
|
type StripeProductGQL {
|
||||||
@@ -1093,6 +1135,9 @@ type Mutation {
|
|||||||
markAllNotificationsAsRead: Boolean!
|
markAllNotificationsAsRead: Boolean!
|
||||||
markNotificationsAsRead(notificationIds: [Int!]!): Boolean!
|
markNotificationsAsRead(notificationIds: [Int!]!): Boolean!
|
||||||
deleteNotification(notificationId: Int!): Boolean!
|
deleteNotification(notificationId: Int!): Boolean!
|
||||||
|
finalizePlayerAssignments(
|
||||||
|
input: FinalizePlayerAssignmentsInput!
|
||||||
|
): [PlayerClusterGQL!]!
|
||||||
addAnnotationToShot(
|
addAnnotationToShot(
|
||||||
shotId: Int!
|
shotId: Int!
|
||||||
annotationName: String!
|
annotationName: String!
|
||||||
@@ -1117,6 +1162,7 @@ type Mutation {
|
|||||||
ensureStripeCustomerExists: UserGQL!
|
ensureStripeCustomerExists: UserGQL!
|
||||||
deleteUser: Boolean!
|
deleteUser: Boolean!
|
||||||
createSubscription(priceId: String!): CreateSubscriptionResultGQL!
|
createSubscription(priceId: String!): CreateSubscriptionResultGQL!
|
||||||
|
createCustomerPortalSession: CreateCustomerPortalSessionResultGQL!
|
||||||
cancelSubscription: UserSubscriptionStatusGQL!
|
cancelSubscription: UserSubscriptionStatusGQL!
|
||||||
grantManualEntitlement(
|
grantManualEntitlement(
|
||||||
userId: Int!
|
userId: Int!
|
||||||
@@ -1163,6 +1209,23 @@ enum ReportReasonEnum {
|
|||||||
OTHER
|
OTHER
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input FinalizePlayerAssignmentsInput {
|
||||||
|
videoId: Int!
|
||||||
|
clusterAssignments: [ClusterAssignmentInput!]! = []
|
||||||
|
shotMoves: [ShotMoveInput!]! = []
|
||||||
|
}
|
||||||
|
|
||||||
|
input ClusterAssignmentInput {
|
||||||
|
clusterId: Int!
|
||||||
|
userId: Int = null
|
||||||
|
score: Int = null
|
||||||
|
}
|
||||||
|
|
||||||
|
input ShotMoveInput {
|
||||||
|
shotId: Int!
|
||||||
|
newClusterId: Int!
|
||||||
|
}
|
||||||
|
|
||||||
type AddShotAnnotationReturn {
|
type AddShotAnnotationReturn {
|
||||||
value: SuccessfulAddAddShotAnnotationErrors!
|
value: SuccessfulAddAddShotAnnotationErrors!
|
||||||
}
|
}
|
||||||
@@ -1256,6 +1319,10 @@ type CreateSubscriptionResultGQL {
|
|||||||
sessionId: String!
|
sessionId: String!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type CreateCustomerPortalSessionResultGQL {
|
||||||
|
portalUrl: String!
|
||||||
|
}
|
||||||
|
|
||||||
enum CancellationReasonEnum {
|
enum CancellationReasonEnum {
|
||||||
DONT_PLAY_ENOUGH
|
DONT_PLAY_ENOUGH
|
||||||
TOO_EXPENSIVE
|
TOO_EXPENSIVE
|
||||||
|
|||||||
Reference in New Issue
Block a user