Compare commits
11 Commits
colonelpan
...
add-upload
| Author | SHA1 | Date | |
|---|---|---|---|
| 6bcf9a2487 | |||
| 7cef75b2ca | |||
|
|
6d5cd9b1ed | ||
|
|
d59e21c10e | ||
| 9358205327 | |||
| 88634a32e9 | |||
| f7200a2e9f | |||
| 7d839c0fa6 | |||
| ab1e604871 | |||
| c586bdf1a6 | |||
| a12b3e1210 |
704
src/index.tsx
704
src/index.tsx
@@ -140,39 +140,6 @@ export type BucketSetInputGql = {
|
|||||||
feature: Scalars["String"]["input"];
|
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<Scalars["DateTime"]["output"]>;
|
|
||||||
expiresAt: Scalars["DateTime"]["output"];
|
|
||||||
failedAt?: Maybe<Scalars["DateTime"]["output"]>;
|
|
||||||
failureReason?: Maybe<Scalars["String"]["output"]>;
|
|
||||||
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<Scalars["ID"]["output"]>;
|
|
||||||
createdAt: Scalars["DateTime"]["output"];
|
|
||||||
endReason?: Maybe<Scalars["String"]["output"]>;
|
|
||||||
endedAt?: Maybe<Scalars["DateTime"]["output"]>;
|
|
||||||
expiresAt?: Maybe<Scalars["DateTime"]["output"]>;
|
|
||||||
id: Scalars["ID"]["output"];
|
|
||||||
startedAt: Scalars["DateTime"]["output"];
|
|
||||||
status: Scalars["String"]["output"];
|
|
||||||
updatedAt: Scalars["DateTime"]["output"];
|
|
||||||
userId: Scalars["ID"]["output"];
|
|
||||||
videoId?: Maybe<Scalars["ID"]["output"]>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type CancellationFeedbackMetadataInput = {
|
export type CancellationFeedbackMetadataInput = {
|
||||||
appVersion?: InputMaybe<Scalars["String"]["input"]>;
|
appVersion?: InputMaybe<Scalars["String"]["input"]>;
|
||||||
gitRevision?: InputMaybe<Scalars["String"]["input"]>;
|
gitRevision?: InputMaybe<Scalars["String"]["input"]>;
|
||||||
@@ -268,21 +235,6 @@ export type CreateCustomerPortalSessionResultGql = {
|
|||||||
portalUrl: Scalars["String"]["output"];
|
portalUrl: Scalars["String"]["output"];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type CreatePoolHallCameraInput = {
|
|
||||||
name: Scalars["String"]["input"];
|
|
||||||
poolHallId: Scalars["ID"]["input"];
|
|
||||||
streamPath?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
tableLabel?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type CreatePoolHallInput = {
|
|
||||||
address?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
latitude?: InputMaybe<Scalars["Float"]["input"]>;
|
|
||||||
longitude?: InputMaybe<Scalars["Float"]["input"]>;
|
|
||||||
name: Scalars["String"]["input"];
|
|
||||||
timezone?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type CreateSubscriptionResultGql = {
|
export type CreateSubscriptionResultGql = {
|
||||||
__typename?: "CreateSubscriptionResultGQL";
|
__typename?: "CreateSubscriptionResultGQL";
|
||||||
checkoutUrl: Scalars["String"]["output"];
|
checkoutUrl: Scalars["String"]["output"];
|
||||||
@@ -2435,15 +2387,11 @@ export type Mutation = {
|
|||||||
addAnnotationToShot: AddShotAnnotationReturn;
|
addAnnotationToShot: AddShotAnnotationReturn;
|
||||||
blockContent: Scalars["Boolean"]["output"];
|
blockContent: Scalars["Boolean"]["output"];
|
||||||
blockUser: Scalars["Boolean"]["output"];
|
blockUser: Scalars["Boolean"]["output"];
|
||||||
cancelCameraClaimSession: CameraClaimSession;
|
|
||||||
cancelSubscription: UserSubscriptionStatusGql;
|
cancelSubscription: UserSubscriptionStatusGql;
|
||||||
commentOnVideo: Scalars["Boolean"]["output"];
|
commentOnVideo: Scalars["Boolean"]["output"];
|
||||||
createBucketSet: BucketSetGql;
|
createBucketSet: BucketSetGql;
|
||||||
createCameraClaimSession: CameraClaimSession;
|
|
||||||
createChallenge: Challenge;
|
createChallenge: Challenge;
|
||||||
createCustomerPortalSession: CreateCustomerPortalSessionResultGql;
|
createCustomerPortalSession: CreateCustomerPortalSessionResultGql;
|
||||||
createPoolHall: PoolHall;
|
|
||||||
createPoolHallCamera: PoolHallCameraStreamCredentials;
|
|
||||||
createRuleSet: RuleSet;
|
createRuleSet: RuleSet;
|
||||||
createSubscription: CreateSubscriptionResultGql;
|
createSubscription: CreateSubscriptionResultGql;
|
||||||
createUploadStream: CreateUploadStreamReturn;
|
createUploadStream: CreateUploadStreamReturn;
|
||||||
@@ -2476,7 +2424,6 @@ export type Mutation = {
|
|||||||
respondToChallengeInvitation: ChallengeInvitation;
|
respondToChallengeInvitation: ChallengeInvitation;
|
||||||
retireTags: Scalars["Boolean"]["output"];
|
retireTags: Scalars["Boolean"]["output"];
|
||||||
revokeManualEntitlement: UserSubscriptionStatusGql;
|
revokeManualEntitlement: UserSubscriptionStatusGql;
|
||||||
rotatePoolHallCameraStreamKey: PoolHallCameraStreamCredentials;
|
|
||||||
setLoggerLevel: Scalars["Boolean"]["output"];
|
setLoggerLevel: Scalars["Boolean"]["output"];
|
||||||
setSegmentDuration: Scalars["Boolean"]["output"];
|
setSegmentDuration: Scalars["Boolean"]["output"];
|
||||||
startChallenge: ChallengeEntry;
|
startChallenge: ChallengeEntry;
|
||||||
@@ -2484,8 +2431,6 @@ export type Mutation = {
|
|||||||
submitChallengeEntry: ChallengeEntry;
|
submitChallengeEntry: ChallengeEntry;
|
||||||
undismissChallenge: Scalars["Boolean"]["output"];
|
undismissChallenge: Scalars["Boolean"]["output"];
|
||||||
unfollowUser: UserGql;
|
unfollowUser: UserGql;
|
||||||
updatePoolHall: PoolHall;
|
|
||||||
updatePoolHallCamera: PoolHallCamera;
|
|
||||||
updateShotAnnotations: UpdateShotAnnotationReturn;
|
updateShotAnnotations: UpdateShotAnnotationReturn;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2503,10 +2448,6 @@ export type MutationBlockUserArgs = {
|
|||||||
userId: Scalars["Int"]["input"];
|
userId: Scalars["Int"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type MutationCancelCameraClaimSessionArgs = {
|
|
||||||
claimSessionId: Scalars["ID"]["input"];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type MutationCommentOnVideoArgs = {
|
export type MutationCommentOnVideoArgs = {
|
||||||
message: Scalars["String"]["input"];
|
message: Scalars["String"]["input"];
|
||||||
parentCommentId?: InputMaybe<Scalars["Int"]["input"]>;
|
parentCommentId?: InputMaybe<Scalars["Int"]["input"]>;
|
||||||
@@ -2517,10 +2458,6 @@ export type MutationCreateBucketSetArgs = {
|
|||||||
params: CreateBucketSetInput;
|
params: CreateBucketSetInput;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type MutationCreateCameraClaimSessionArgs = {
|
|
||||||
cameraId: Scalars["ID"]["input"];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type MutationCreateChallengeArgs = {
|
export type MutationCreateChallengeArgs = {
|
||||||
description?: InputMaybe<Scalars["String"]["input"]>;
|
description?: InputMaybe<Scalars["String"]["input"]>;
|
||||||
endDate: Scalars["DateTime"]["input"];
|
endDate: Scalars["DateTime"]["input"];
|
||||||
@@ -2534,14 +2471,6 @@ export type MutationCreateChallengeArgs = {
|
|||||||
startDate: Scalars["DateTime"]["input"];
|
startDate: Scalars["DateTime"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type MutationCreatePoolHallArgs = {
|
|
||||||
input: CreatePoolHallInput;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type MutationCreatePoolHallCameraArgs = {
|
|
||||||
input: CreatePoolHallCameraInput;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type MutationCreateRuleSetArgs = {
|
export type MutationCreateRuleSetArgs = {
|
||||||
description?: InputMaybe<Scalars["String"]["input"]>;
|
description?: InputMaybe<Scalars["String"]["input"]>;
|
||||||
name: Scalars["String"]["input"];
|
name: Scalars["String"]["input"];
|
||||||
@@ -2677,10 +2606,6 @@ export type MutationRevokeManualEntitlementArgs = {
|
|||||||
userId: Scalars["Int"]["input"];
|
userId: Scalars["Int"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type MutationRotatePoolHallCameraStreamKeyArgs = {
|
|
||||||
cameraId: Scalars["ID"]["input"];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type MutationSetLoggerLevelArgs = {
|
export type MutationSetLoggerLevelArgs = {
|
||||||
level: Scalars["String"]["input"];
|
level: Scalars["String"]["input"];
|
||||||
path: Scalars["String"]["input"];
|
path: Scalars["String"]["input"];
|
||||||
@@ -2715,14 +2640,6 @@ export type MutationUnfollowUserArgs = {
|
|||||||
followedUserId: Scalars["Int"]["input"];
|
followedUserId: Scalars["Int"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type MutationUpdatePoolHallArgs = {
|
|
||||||
input: UpdatePoolHallInput;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type MutationUpdatePoolHallCameraArgs = {
|
|
||||||
input: UpdatePoolHallCameraInput;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type MutationUpdateShotAnnotationsArgs = {
|
export type MutationUpdateShotAnnotationsArgs = {
|
||||||
annotations: Array<UpdateAnnotationInputGql>;
|
annotations: Array<UpdateAnnotationInputGql>;
|
||||||
shotId: Scalars["Int"]["input"];
|
shotId: Scalars["Int"]["input"];
|
||||||
@@ -2874,41 +2791,6 @@ export type PocketingIntentionInfoGql = {
|
|||||||
pocketId: PocketIdentifier;
|
pocketId: PocketIdentifier;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type PoolHall = {
|
|
||||||
__typename?: "PoolHall";
|
|
||||||
address?: Maybe<Scalars["String"]["output"]>;
|
|
||||||
createdAt: Scalars["DateTime"]["output"];
|
|
||||||
id: Scalars["ID"]["output"];
|
|
||||||
latitude?: Maybe<Scalars["Float"]["output"]>;
|
|
||||||
longitude?: Maybe<Scalars["Float"]["output"]>;
|
|
||||||
name: Scalars["String"]["output"];
|
|
||||||
status: Scalars["String"]["output"];
|
|
||||||
timezone?: Maybe<Scalars["String"]["output"]>;
|
|
||||||
updatedAt: Scalars["DateTime"]["output"];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type PoolHallCamera = {
|
|
||||||
__typename?: "PoolHallCamera";
|
|
||||||
createdAt: Scalars["DateTime"]["output"];
|
|
||||||
id: Scalars["ID"]["output"];
|
|
||||||
lastPublishedAt?: Maybe<Scalars["DateTime"]["output"]>;
|
|
||||||
lastUnpublishedAt?: Maybe<Scalars["DateTime"]["output"]>;
|
|
||||||
name: Scalars["String"]["output"];
|
|
||||||
poolHall: PoolHall;
|
|
||||||
poolHallId: Scalars["ID"]["output"];
|
|
||||||
status: Scalars["String"]["output"];
|
|
||||||
streamPath: Scalars["String"]["output"];
|
|
||||||
tableLabel?: Maybe<Scalars["String"]["output"]>;
|
|
||||||
updatedAt: Scalars["DateTime"]["output"];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type PoolHallCameraStreamCredentials = {
|
|
||||||
__typename?: "PoolHallCameraStreamCredentials";
|
|
||||||
camera: PoolHallCamera;
|
|
||||||
rtmpPath: Scalars["String"]["output"];
|
|
||||||
streamKey: Scalars["String"]["output"];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type ProcessingFailedErr = {
|
export type ProcessingFailedErr = {
|
||||||
__typename?: "ProcessingFailedErr";
|
__typename?: "ProcessingFailedErr";
|
||||||
processing: VideoProcessingGql;
|
processing: VideoProcessingGql;
|
||||||
@@ -2927,13 +2809,9 @@ export enum ProcessingStatusEnum {
|
|||||||
|
|
||||||
export type Query = {
|
export type Query = {
|
||||||
__typename?: "Query";
|
__typename?: "Query";
|
||||||
activeCameraLease?: Maybe<CameraLease>;
|
|
||||||
cameraClaimSession?: Maybe<CameraClaimSession>;
|
|
||||||
challenge?: Maybe<Challenge>;
|
challenge?: Maybe<Challenge>;
|
||||||
challengeLeaderboard: Array<ChallengeEntry>;
|
challengeLeaderboard: Array<ChallengeEntry>;
|
||||||
challenges: Array<Challenge>;
|
challenges: Array<Challenge>;
|
||||||
claimableCameras: Array<PoolHallCamera>;
|
|
||||||
claimablePoolHalls: Array<PoolHall>;
|
|
||||||
doesUsernameExist: Scalars["Boolean"]["output"];
|
doesUsernameExist: Scalars["Boolean"]["output"];
|
||||||
getAggregatedShotMetrics: Array<AggregateResultGql>;
|
getAggregatedShotMetrics: Array<AggregateResultGql>;
|
||||||
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGql;
|
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGql;
|
||||||
@@ -2969,18 +2847,12 @@ export type Query = {
|
|||||||
myChallengeInvitations: Array<ChallengeInvitation>;
|
myChallengeInvitations: Array<ChallengeInvitation>;
|
||||||
myDismissedChallenges: Array<Challenge>;
|
myDismissedChallenges: Array<Challenge>;
|
||||||
notifications: NotificationConnection;
|
notifications: NotificationConnection;
|
||||||
poolHallCameras: Array<PoolHallCamera>;
|
|
||||||
poolHalls: Array<PoolHall>;
|
|
||||||
ruleSets: Array<RuleSet>;
|
ruleSets: Array<RuleSet>;
|
||||||
unreadNotificationCount: Scalars["Int"]["output"];
|
unreadNotificationCount: Scalars["Int"]["output"];
|
||||||
videoPlayerClusters: Array<PlayerClusterGql>;
|
videoPlayerClusters: Array<PlayerClusterGql>;
|
||||||
waitFor: Scalars["Float"]["output"];
|
waitFor: Scalars["Float"]["output"];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type QueryCameraClaimSessionArgs = {
|
|
||||||
id: Scalars["ID"]["input"];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type QueryChallengeArgs = {
|
export type QueryChallengeArgs = {
|
||||||
id: Scalars["ID"]["input"];
|
id: Scalars["ID"]["input"];
|
||||||
};
|
};
|
||||||
@@ -2994,10 +2866,6 @@ export type QueryChallengesArgs = {
|
|||||||
includeDismissed?: Scalars["Boolean"]["input"];
|
includeDismissed?: Scalars["Boolean"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type QueryClaimableCamerasArgs = {
|
|
||||||
poolHallId: Scalars["ID"]["input"];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type QueryDoesUsernameExistArgs = {
|
export type QueryDoesUsernameExistArgs = {
|
||||||
candidateUsername: Scalars["String"]["input"];
|
candidateUsername: Scalars["String"]["input"];
|
||||||
};
|
};
|
||||||
@@ -3148,10 +3016,6 @@ export type QueryNotificationsArgs = {
|
|||||||
offset?: Scalars["Int"]["input"];
|
offset?: Scalars["Int"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
export type QueryPoolHallCamerasArgs = {
|
|
||||||
poolHallId: Scalars["ID"]["input"];
|
|
||||||
};
|
|
||||||
|
|
||||||
export type QueryVideoPlayerClustersArgs = {
|
export type QueryVideoPlayerClustersArgs = {
|
||||||
videoId: Scalars["Int"]["input"];
|
videoId: Scalars["Int"]["input"];
|
||||||
};
|
};
|
||||||
@@ -3568,23 +3432,6 @@ export type UpdateAnnotationInputGql = {
|
|||||||
notes?: InputMaybe<Scalars["String"]["input"]>;
|
notes?: InputMaybe<Scalars["String"]["input"]>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type UpdatePoolHallCameraInput = {
|
|
||||||
id: Scalars["ID"]["input"];
|
|
||||||
name?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
status?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
tableLabel?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type UpdatePoolHallInput = {
|
|
||||||
address?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
id: Scalars["ID"]["input"];
|
|
||||||
latitude?: InputMaybe<Scalars["Float"]["input"]>;
|
|
||||||
longitude?: InputMaybe<Scalars["Float"]["input"]>;
|
|
||||||
name?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
status?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
timezone?: InputMaybe<Scalars["String"]["input"]>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type UpdateShotAnnotationReturn = {
|
export type UpdateShotAnnotationReturn = {
|
||||||
__typename?: "UpdateShotAnnotationReturn";
|
__typename?: "UpdateShotAnnotationReturn";
|
||||||
error?: Maybe<DoesNotOwnShotErr>;
|
error?: Maybe<DoesNotOwnShotErr>;
|
||||||
@@ -4546,6 +4393,24 @@ export type GetVideoFeedSessionCountQuery = {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type GetLastSessionDateQueryVariables = Exact<{
|
||||||
|
filters?: InputMaybe<VideoFilterInput>;
|
||||||
|
includePrivate?: InputMaybe<IncludePrivateEnum>;
|
||||||
|
feedInput?: InputMaybe<VideoFeedInputGql>;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type GetLastSessionDateQuery = {
|
||||||
|
__typename?: "Query";
|
||||||
|
getFeedVideos: {
|
||||||
|
__typename?: "VideoHistoryGQL";
|
||||||
|
videos: Array<{
|
||||||
|
__typename?: "VideoGQL";
|
||||||
|
id: number;
|
||||||
|
startTime?: any | null;
|
||||||
|
}>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
export type GetVideoFeedQueryVariables = Exact<{
|
export type GetVideoFeedQueryVariables = Exact<{
|
||||||
limit?: Scalars["Int"]["input"];
|
limit?: Scalars["Int"]["input"];
|
||||||
after?: InputMaybe<Scalars["String"]["input"]>;
|
after?: InputMaybe<Scalars["String"]["input"]>;
|
||||||
@@ -5631,6 +5496,39 @@ 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<GetShotsOrdering>;
|
||||||
|
limit?: InputMaybe<Scalars["Int"]["input"]>;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
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 = {
|
export type ShotWithAllFeaturesFragment = {
|
||||||
__typename?: "ShotGQL";
|
__typename?: "ShotGQL";
|
||||||
id: number;
|
id: number;
|
||||||
@@ -5902,6 +5800,47 @@ export type GetUserPlayTimeQuery = {
|
|||||||
getPlayTime: { __typename?: "UserPlayTimeGQL"; totalSeconds: number };
|
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<{
|
export type GetUsernamesQueryVariables = Exact<{
|
||||||
matchString: Scalars["String"]["input"];
|
matchString: Scalars["String"]["input"];
|
||||||
limit?: InputMaybe<Scalars["Int"]["input"]>;
|
limit?: InputMaybe<Scalars["Int"]["input"]>;
|
||||||
@@ -6309,6 +6248,102 @@ 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;
|
||||||
|
} | 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;
|
||||||
|
averageDifficulty?: number | null;
|
||||||
|
averageTimeBetweenShots?: number | null;
|
||||||
|
}>;
|
||||||
|
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<{
|
export type GetVideosQueryVariables = Exact<{
|
||||||
videoIds: Array<Scalars["Int"]["input"]> | Scalars["Int"]["input"];
|
videoIds: Array<Scalars["Int"]["input"]> | Scalars["Int"]["input"];
|
||||||
}>;
|
}>;
|
||||||
@@ -6861,8 +6896,10 @@ export type UploadStreamWithDetailsFragment = {
|
|||||||
startTime?: any | null;
|
startTime?: any | null;
|
||||||
stream?: {
|
stream?: {
|
||||||
__typename?: "UploadStreamGQL";
|
__typename?: "UploadStreamGQL";
|
||||||
|
id: string;
|
||||||
isCompleted: boolean;
|
isCompleted: boolean;
|
||||||
lastIntendedSegmentBound?: number | null;
|
lastIntendedSegmentBound?: number | null;
|
||||||
|
streamSegmentType: StreamSegmentTypeEnum;
|
||||||
uploadCompletionCursor: number;
|
uploadCompletionCursor: number;
|
||||||
uploadsCompleted: number;
|
uploadsCompleted: number;
|
||||||
} | null;
|
} | null;
|
||||||
@@ -6885,8 +6922,10 @@ export type GetUploadStreamsWithDetailsQuery = {
|
|||||||
startTime?: any | null;
|
startTime?: any | null;
|
||||||
stream?: {
|
stream?: {
|
||||||
__typename?: "UploadStreamGQL";
|
__typename?: "UploadStreamGQL";
|
||||||
|
id: string;
|
||||||
isCompleted: boolean;
|
isCompleted: boolean;
|
||||||
lastIntendedSegmentBound?: number | null;
|
lastIntendedSegmentBound?: number | null;
|
||||||
|
streamSegmentType: StreamSegmentTypeEnum;
|
||||||
uploadCompletionCursor: number;
|
uploadCompletionCursor: number;
|
||||||
uploadsCompleted: number;
|
uploadsCompleted: number;
|
||||||
} | null;
|
} | null;
|
||||||
@@ -7061,6 +7100,16 @@ export const PlayerClusterFieldsFragmentDoc = gql`
|
|||||||
}
|
}
|
||||||
${PlayerClusterShotFieldsFragmentDoc}
|
${PlayerClusterShotFieldsFragmentDoc}
|
||||||
`;
|
`;
|
||||||
|
export const ShotClipRangeFragmentDoc = gql`
|
||||||
|
fragment ShotClipRange on ShotGQL {
|
||||||
|
id
|
||||||
|
videoId
|
||||||
|
startFrame
|
||||||
|
endFrame
|
||||||
|
startTime @client
|
||||||
|
endTime @client
|
||||||
|
}
|
||||||
|
`;
|
||||||
export const ShotWithAllFeaturesFragmentDoc = gql`
|
export const ShotWithAllFeaturesFragmentDoc = gql`
|
||||||
fragment ShotWithAllFeatures on ShotGQL {
|
fragment ShotWithAllFeatures on ShotGQL {
|
||||||
id
|
id
|
||||||
@@ -7264,8 +7313,10 @@ export const UploadStreamWithDetailsFragmentDoc = gql`
|
|||||||
name
|
name
|
||||||
startTime
|
startTime
|
||||||
stream {
|
stream {
|
||||||
|
id
|
||||||
isCompleted
|
isCompleted
|
||||||
lastIntendedSegmentBound
|
lastIntendedSegmentBound
|
||||||
|
streamSegmentType
|
||||||
uploadCompletionCursor
|
uploadCompletionCursor
|
||||||
uploadsCompleted
|
uploadsCompleted
|
||||||
}
|
}
|
||||||
@@ -9146,6 +9197,93 @@ export type GetVideoFeedSessionCountQueryResult = Apollo.QueryResult<
|
|||||||
GetVideoFeedSessionCountQuery,
|
GetVideoFeedSessionCountQuery,
|
||||||
GetVideoFeedSessionCountQueryVariables
|
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`
|
export const GetVideoFeedDocument = gql`
|
||||||
query GetVideoFeed(
|
query GetVideoFeed(
|
||||||
$limit: Int! = 5
|
$limit: Int! = 5
|
||||||
@@ -11449,6 +11587,93 @@ export type GetShotsByIdsQueryResult = Apollo.QueryResult<
|
|||||||
GetShotsByIdsQuery,
|
GetShotsByIdsQuery,
|
||||||
GetShotsByIdsQueryVariables
|
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`
|
export const EditShotDocument = gql`
|
||||||
mutation EditShot($shotId: Int!, $fieldsToEdit: EditableShotFieldInputGQL!) {
|
mutation EditShot($shotId: Int!, $fieldsToEdit: EditableShotFieldInputGQL!) {
|
||||||
editShot(shotId: $shotId, fieldsToEdit: $fieldsToEdit) {
|
editShot(shotId: $shotId, fieldsToEdit: $fieldsToEdit) {
|
||||||
@@ -11938,6 +12163,105 @@ export type GetUserPlayTimeQueryResult = Apollo.QueryResult<
|
|||||||
GetUserPlayTimeQuery,
|
GetUserPlayTimeQuery,
|
||||||
GetUserPlayTimeQueryVariables
|
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`
|
export const GetUsernamesDocument = gql`
|
||||||
query getUsernames(
|
query getUsernames(
|
||||||
$matchString: String!
|
$matchString: String!
|
||||||
@@ -13164,6 +13488,80 @@ export type GetVideoSocialDetailsByIdQueryResult = Apollo.QueryResult<
|
|||||||
GetVideoSocialDetailsByIdQuery,
|
GetVideoSocialDetailsByIdQuery,
|
||||||
GetVideoSocialDetailsByIdQueryVariables
|
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<GetVideoCardQuery, GetVideoCardQueryVariables>(
|
||||||
|
GetVideoCardDocument,
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export function useGetVideoCardLazyQuery(
|
||||||
|
baseOptions?: Apollo.LazyQueryHookOptions<
|
||||||
|
GetVideoCardQuery,
|
||||||
|
GetVideoCardQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useLazyQuery<GetVideoCardQuery, GetVideoCardQueryVariables>(
|
||||||
|
GetVideoCardDocument,
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export function useGetVideoCardSuspenseQuery(
|
||||||
|
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
||||||
|
GetVideoCardQuery,
|
||||||
|
GetVideoCardQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useSuspenseQuery<GetVideoCardQuery, GetVideoCardQueryVariables>(
|
||||||
|
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`
|
export const GetVideosDocument = gql`
|
||||||
query GetVideos($videoIds: [Int!]!) {
|
query GetVideos($videoIds: [Int!]!) {
|
||||||
getVideos(videoIds: $videoIds) {
|
getVideos(videoIds: $videoIds) {
|
||||||
|
|||||||
@@ -101,6 +101,27 @@ query GetVideoFeedSessionCount(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Minimal query for the Home recency nudge ("you haven't recorded in N days").
|
||||||
|
# Only the most recent session's start time — avoids pulling the full
|
||||||
|
# VideoCardFields payload (reactions, comments, player summaries, etc.).
|
||||||
|
query GetLastSessionDate(
|
||||||
|
$filters: VideoFilterInput = null
|
||||||
|
$includePrivate: IncludePrivateEnum = MINE
|
||||||
|
$feedInput: VideoFeedInputGQL = null
|
||||||
|
) {
|
||||||
|
getFeedVideos(
|
||||||
|
limit: 1
|
||||||
|
filters: $filters
|
||||||
|
includePrivate: $includePrivate
|
||||||
|
feedInput: $feedInput
|
||||||
|
) {
|
||||||
|
videos {
|
||||||
|
id
|
||||||
|
startTime
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
query GetVideoFeed(
|
query GetVideoFeed(
|
||||||
$limit: Int! = 5
|
$limit: Int! = 5
|
||||||
$after: String = null
|
$after: String = null
|
||||||
|
|||||||
@@ -132,6 +132,38 @@ query GetShotsByIds($ids: [Int!]!) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Lightweight clip boundaries for condensed session playback. The inline
|
||||||
|
# session player only needs each shot's frame/time window to seek between
|
||||||
|
# shots — this skips the heavy ShotWithAllFeatures payload (cue/pocketing
|
||||||
|
# features, serialized shot paths, annotations, nested video/playlist). The
|
||||||
|
# startTime/endTime @client resolvers derive their values from the frame
|
||||||
|
# fields + the video (looked up internally), so this is all they require.
|
||||||
|
fragment ShotClipRange on ShotGQL {
|
||||||
|
id
|
||||||
|
videoId
|
||||||
|
startFrame
|
||||||
|
endFrame
|
||||||
|
startTime @client
|
||||||
|
endTime @client
|
||||||
|
}
|
||||||
|
|
||||||
|
query GetShotClipRanges(
|
||||||
|
$filterInput: FilterInput!
|
||||||
|
$shotsOrdering: GetShotsOrdering
|
||||||
|
$limit: Int
|
||||||
|
) {
|
||||||
|
getOrderedShots(
|
||||||
|
filterInput: $filterInput
|
||||||
|
shotsOrdering: $shotsOrdering
|
||||||
|
limit: $limit
|
||||||
|
) {
|
||||||
|
count
|
||||||
|
shots {
|
||||||
|
...ShotClipRange
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fragment ShotWithAllFeatures on ShotGQL {
|
fragment ShotWithAllFeatures on ShotGQL {
|
||||||
id
|
id
|
||||||
videoId
|
videoId
|
||||||
|
|||||||
@@ -49,6 +49,39 @@ query GetUserPlayTime($userId: Int!, $filters: VideoFilterInput) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
query getUsernames(
|
query getUsernames(
|
||||||
$matchString: String!
|
$matchString: String!
|
||||||
$limit: Int = null
|
$limit: Int = null
|
||||||
|
|||||||
@@ -139,6 +139,15 @@ query GetVideoSocialDetailsById($videoId: Int!) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Full card payload for a single video — reuses the same VideoCardFields
|
||||||
|
# fragment the feed list uses, so the session-detail meta header shares one
|
||||||
|
# source of truth (and the normalized Apollo cache) with the feed card.
|
||||||
|
query GetVideoCard($videoId: Int!) {
|
||||||
|
getVideo(videoId: $videoId) {
|
||||||
|
...VideoCardFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
query GetVideos($videoIds: [Int!]!) {
|
query GetVideos($videoIds: [Int!]!) {
|
||||||
getVideos(videoIds: $videoIds) {
|
getVideos(videoIds: $videoIds) {
|
||||||
...VideoStreamMetadata
|
...VideoStreamMetadata
|
||||||
|
|||||||
@@ -113,8 +113,10 @@ fragment UploadStreamWithDetails on VideoGQL {
|
|||||||
name
|
name
|
||||||
startTime
|
startTime
|
||||||
stream {
|
stream {
|
||||||
|
id
|
||||||
isCompleted
|
isCompleted
|
||||||
lastIntendedSegmentBound
|
lastIntendedSegmentBound
|
||||||
|
streamSegmentType
|
||||||
uploadCompletionCursor
|
uploadCompletionCursor
|
||||||
uploadsCompleted
|
uploadsCompleted
|
||||||
}
|
}
|
||||||
|
|||||||
110
src/schema.gql
110
src/schema.gql
@@ -42,12 +42,6 @@ type Query {
|
|||||||
filters: NotificationFilters = null
|
filters: NotificationFilters = null
|
||||||
): NotificationConnection!
|
): NotificationConnection!
|
||||||
unreadNotificationCount: Int!
|
unreadNotificationCount: Int!
|
||||||
poolHalls: [PoolHall!]!
|
|
||||||
claimablePoolHalls: [PoolHall!]!
|
|
||||||
poolHallCameras(poolHallId: ID!): [PoolHallCamera!]!
|
|
||||||
claimableCameras(poolHallId: ID!): [PoolHallCamera!]!
|
|
||||||
cameraClaimSession(id: ID!): CameraClaimSession
|
|
||||||
activeCameraLease: CameraLease
|
|
||||||
getRuns(
|
getRuns(
|
||||||
filterInput: RunFilterInput!
|
filterInput: RunFilterInput!
|
||||||
runIds: [Int!] = null
|
runIds: [Int!] = null
|
||||||
@@ -846,63 +840,6 @@ input NotificationFilters {
|
|||||||
notificationTypes: [NotificationTypeEnum!] = null
|
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 {
|
type GetRunsResult {
|
||||||
runs: [RunGQL!]!
|
runs: [RunGQL!]!
|
||||||
count: Int
|
count: Int
|
||||||
@@ -1212,15 +1149,6 @@ type Mutation {
|
|||||||
markAllNotificationsAsRead: Boolean!
|
markAllNotificationsAsRead: Boolean!
|
||||||
markNotificationsAsRead(notificationIds: [Int!]!): Boolean!
|
markNotificationsAsRead(notificationIds: [Int!]!): Boolean!
|
||||||
deleteNotification(notificationId: 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(
|
finalizePlayerAssignments(
|
||||||
input: FinalizePlayerAssignmentsInput!
|
input: FinalizePlayerAssignmentsInput!
|
||||||
): [PlayerClusterGQL!]!
|
): [PlayerClusterGQL!]!
|
||||||
@@ -1295,44 +1223,6 @@ enum ReportReasonEnum {
|
|||||||
OTHER
|
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 {
|
input FinalizePlayerAssignmentsInput {
|
||||||
videoId: Int!
|
videoId: Int!
|
||||||
clusterAssignments: [ClusterAssignmentInput!]! = []
|
clusterAssignments: [ClusterAssignmentInput!]! = []
|
||||||
|
|||||||
Reference in New Issue
Block a user