Compare commits
36 Commits
81b9fd9f12
...
kat/suppor
Author | SHA1 | Date | |
---|---|---|---|
35a8d71128 | |||
3480637600 | |||
f4665f51b1 | |||
810212dc12 | |||
c3210df517 | |||
9f5c354433 | |||
23d9fef2b1 | |||
df3087de7d | |||
5dd8318dab | |||
56c8bcce20 | |||
1c4961db5b | |||
5e0d01ea5b | |||
e8938621fc | |||
8c8dcdd8e1 | |||
5085c9af90 | |||
85bc743c8e | |||
b8efa644e3 | |||
c18628a4ca | |||
535e24c9c2 | |||
04308b1003 | |||
43c626141e | |||
c49266e4c1 | |||
6677b9232f | |||
76e792be88 | |||
5eac3d9d40 | |||
64593f09b7 | |||
e20b68799f | |||
378878967a | |||
251ebe7056 | |||
615e4d5467 | |||
a4f602d651 | |||
c48512fc45 | |||
d75822c465 | |||
4feeba5150 | |||
e1237363f0 | |||
b1550b31c5 |
345
src/index.tsx
345
src/index.tsx
@@ -30,6 +30,8 @@ export type Scalars = {
|
||||
Float: { input: number; output: number };
|
||||
/** Date with time (isoformat) */
|
||||
DateTime: { input: any; output: any };
|
||||
/** The `JSON` scalar type represents JSON values as specified by [ECMA-404](https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf). */
|
||||
JSON: { input: any; output: any };
|
||||
};
|
||||
|
||||
export type AggregateInputGql = {
|
||||
@@ -102,6 +104,10 @@ export type CreateUploadStreamReturn = {
|
||||
videoId: Scalars["Int"]["output"];
|
||||
};
|
||||
|
||||
export type CreatedAfter =
|
||||
| { createdAt: Scalars["DateTime"]["input"]; videoId?: never }
|
||||
| { createdAt?: never; videoId: Scalars["Int"]["input"] };
|
||||
|
||||
export type CueObjectFeaturesGql = {
|
||||
__typename?: "CueObjectFeaturesGQL";
|
||||
cueBallSpeed?: Maybe<Scalars["Float"]["output"]>;
|
||||
@@ -140,6 +146,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -170,6 +177,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -200,6 +208,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -230,6 +239,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -260,6 +270,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -290,6 +301,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -320,6 +332,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -350,6 +363,7 @@ export type FilterInput =
|
||||
cueObjectDistance: RangeFilter;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -380,6 +394,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject: RangeFilter;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -410,6 +425,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty: RangeFilter;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -440,6 +456,38 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore: RangeFilter;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
isLeftMiss?: never;
|
||||
isRight?: never;
|
||||
isRightMiss?: never;
|
||||
isStraight?: never;
|
||||
kickAngle?: never;
|
||||
kickDistance?: never;
|
||||
make?: never;
|
||||
notFilter?: never;
|
||||
orFilters?: never;
|
||||
shotDirection?: never;
|
||||
spinType?: never;
|
||||
tags?: never;
|
||||
targetPocketDistance?: never;
|
||||
userId?: never;
|
||||
videoId?: never;
|
||||
}
|
||||
| {
|
||||
andFilters?: never;
|
||||
annotations?: never;
|
||||
bankAngle?: never;
|
||||
bankDistance?: never;
|
||||
cueAngleAfterObject?: never;
|
||||
cueBallSpeed?: never;
|
||||
cueObjectAngle?: never;
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType: Array<PocketEnum>;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -470,6 +518,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect: Array<Scalars["Boolean"]["input"]>;
|
||||
isLeft?: never;
|
||||
@@ -500,6 +549,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft: Array<Scalars["Boolean"]["input"]>;
|
||||
@@ -530,6 +580,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -560,6 +611,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -590,6 +642,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -620,6 +673,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -650,6 +704,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -680,6 +735,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -710,6 +766,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -740,6 +797,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -770,6 +828,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -800,6 +859,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -830,6 +890,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -860,6 +921,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -890,6 +952,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -920,6 +983,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -950,6 +1014,7 @@ export type FilterInput =
|
||||
cueObjectDistance?: never;
|
||||
cueSpeedAfterObject?: never;
|
||||
difficulty?: never;
|
||||
falsePositiveScore?: never;
|
||||
intendedPocketType?: never;
|
||||
isDirect?: never;
|
||||
isLeft?: never;
|
||||
@@ -970,9 +1035,15 @@ export type FilterInput =
|
||||
videoId: Array<Scalars["Int"]["input"]>;
|
||||
};
|
||||
|
||||
export type GetShotsPagination = {
|
||||
createdAfter: CreatedAfter;
|
||||
startFrameAfter: Scalars["Int"]["input"];
|
||||
};
|
||||
|
||||
export type GetUploadLinkReturn = {
|
||||
__typename?: "GetUploadLinkReturn";
|
||||
headers: Array<Maybe<Header>>;
|
||||
uploadCompletionCursor?: Maybe<Scalars["Int"]["output"]>;
|
||||
uploadUrl: Scalars["String"]["output"];
|
||||
};
|
||||
|
||||
@@ -1018,6 +1089,7 @@ export type MakePercentageIntervalGql = {
|
||||
|
||||
export type Mutation = {
|
||||
__typename?: "Mutation";
|
||||
addAnnotationToShot: Scalars["Boolean"]["output"];
|
||||
createBucketSet: BucketSetGql;
|
||||
createUploadStream: CreateUploadStreamReturn;
|
||||
deleteVideo: Scalars["Boolean"]["output"];
|
||||
@@ -1030,6 +1102,11 @@ export type Mutation = {
|
||||
setSegmentDuration: Scalars["Boolean"]["output"];
|
||||
};
|
||||
|
||||
export type MutationAddAnnotationToShotArgs = {
|
||||
annotationName: Scalars["String"]["input"];
|
||||
shotId: Scalars["Int"]["input"];
|
||||
};
|
||||
|
||||
export type MutationCreateBucketSetArgs = {
|
||||
params: CreateBucketSetInput;
|
||||
};
|
||||
@@ -1104,6 +1181,17 @@ export type PocketingIntentionFeaturesGql = {
|
||||
targetPocketDistance?: Maybe<Scalars["Float"]["output"]>;
|
||||
};
|
||||
|
||||
export enum ProcessingStatusEnum {
|
||||
Created = "CREATED",
|
||||
Failed = "FAILED",
|
||||
Queued = "QUEUED",
|
||||
ReextractingFeatures = "REEXTRACTING_FEATURES",
|
||||
Running = "RUNNING",
|
||||
Started = "STARTED",
|
||||
Succeeded = "SUCCEEDED",
|
||||
Suspended = "SUSPENDED",
|
||||
}
|
||||
|
||||
export type Query = {
|
||||
__typename?: "Query";
|
||||
getAggregatedShotMetrics: Array<AggregateResultGql>;
|
||||
@@ -1114,11 +1202,13 @@ export type Query = {
|
||||
getShotAnnotationTypes: Array<ShotAnnotationTypeGql>;
|
||||
getShots: Array<ShotGql>;
|
||||
getUser?: Maybe<UserGql>;
|
||||
getUserTags: Array<TagGql>;
|
||||
getUserVideos: VideoHistoryGql;
|
||||
getUsernames: Array<Scalars["String"]["output"]>;
|
||||
getVideo: VideoGql;
|
||||
getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>;
|
||||
getVideos: Array<VideoGql>;
|
||||
waitFor: Scalars["Float"]["output"];
|
||||
};
|
||||
|
||||
export type QueryGetAggregatedShotMetricsArgs = {
|
||||
@@ -1135,6 +1225,8 @@ export type QueryGetPlayTimeArgs = {
|
||||
|
||||
export type QueryGetShotsArgs = {
|
||||
filterInput: FilterInput;
|
||||
limit?: Scalars["Int"]["input"];
|
||||
shotsPagination?: InputMaybe<GetShotsPagination>;
|
||||
};
|
||||
|
||||
export type QueryGetUserArgs = {
|
||||
@@ -1155,6 +1247,7 @@ export type QueryGetUsernamesArgs = {
|
||||
};
|
||||
|
||||
export type QueryGetVideoArgs = {
|
||||
debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>;
|
||||
videoId: Scalars["Int"]["input"];
|
||||
};
|
||||
|
||||
@@ -1167,8 +1260,13 @@ export type QueryGetVideosArgs = {
|
||||
videoIds: Array<Scalars["Int"]["input"]>;
|
||||
};
|
||||
|
||||
export type QueryWaitForArgs = {
|
||||
duration: Scalars["Float"]["input"];
|
||||
};
|
||||
|
||||
export type RangeFilter = {
|
||||
greaterThanEqualTo?: InputMaybe<Scalars["Float"]["input"]>;
|
||||
includeOnNone?: Scalars["Boolean"]["input"];
|
||||
lessThan?: InputMaybe<Scalars["Float"]["input"]>;
|
||||
};
|
||||
|
||||
@@ -1210,12 +1308,14 @@ export type ShotGql = {
|
||||
createdAt?: Maybe<Scalars["DateTime"]["output"]>;
|
||||
cueObjectFeatures?: Maybe<CueObjectFeaturesGql>;
|
||||
endFrame: Scalars["Int"]["output"];
|
||||
falsePositiveScore?: Maybe<Scalars["Float"]["output"]>;
|
||||
id: Scalars["Int"]["output"];
|
||||
pocketingIntentionFeatures?: Maybe<PocketingIntentionFeaturesGql>;
|
||||
serializedShotPaths?: Maybe<SerializedShotPathsGql>;
|
||||
startFrame: Scalars["Int"]["output"];
|
||||
updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
|
||||
user?: Maybe<UserGql>;
|
||||
video?: Maybe<VideoGql>;
|
||||
videoId: Scalars["Int"]["output"];
|
||||
};
|
||||
|
||||
@@ -1229,6 +1329,13 @@ export enum StreamSegmentTypeEnum {
|
||||
RbChunkedMp4 = "RB_CHUNKED_MP4",
|
||||
}
|
||||
|
||||
export type TagGql = {
|
||||
__typename?: "TagGQL";
|
||||
group?: Maybe<Scalars["String"]["output"]>;
|
||||
id: Scalars["Int"]["output"];
|
||||
name: Scalars["String"]["output"];
|
||||
};
|
||||
|
||||
export type TargetMetricsGql = {
|
||||
__typename?: "TargetMetricsGQL";
|
||||
averageDifficulty?: Maybe<Scalars["Float"]["output"]>;
|
||||
@@ -1257,8 +1364,10 @@ export type UploadStreamGql = {
|
||||
lastIntendedSegmentBound?: Maybe<Scalars["Int"]["output"]>;
|
||||
linksRequested: Scalars["Int"]["output"];
|
||||
lowestUnuploadedSegmentIndex: Scalars["Int"]["output"];
|
||||
resolution: VideoResolutionGql;
|
||||
segmentProcessingCursor: Scalars["Int"]["output"];
|
||||
segments: Array<UploadSegmentGql>;
|
||||
streamSegmentType: StreamSegmentTypeEnum;
|
||||
updatedAt: Scalars["DateTime"]["output"];
|
||||
uploadCompletionCursor: Scalars["Int"]["output"];
|
||||
uploadsCompleted: Scalars["Int"]["output"];
|
||||
@@ -1353,6 +1462,17 @@ export type VideoProcessingErrorGql = {
|
||||
export type VideoProcessingGql = {
|
||||
__typename?: "VideoProcessingGQL";
|
||||
errors: Array<VideoProcessingErrorGql>;
|
||||
status: ProcessingStatusEnum;
|
||||
statuses: Array<VideoProcessingStatusGql>;
|
||||
};
|
||||
|
||||
export type VideoProcessingStatusGql = {
|
||||
__typename?: "VideoProcessingStatusGQL";
|
||||
appVersion: Scalars["String"]["output"];
|
||||
createdAt?: Maybe<Scalars["DateTime"]["output"]>;
|
||||
sequenceId: Scalars["Int"]["output"];
|
||||
status: ProcessingStatusEnum;
|
||||
updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
|
||||
};
|
||||
|
||||
export type VideoResolution = {
|
||||
@@ -1360,6 +1480,12 @@ export type VideoResolution = {
|
||||
width: Scalars["Int"]["input"];
|
||||
};
|
||||
|
||||
export type VideoResolutionGql = {
|
||||
__typename?: "VideoResolutionGQL";
|
||||
height?: Maybe<Scalars["Int"]["output"]>;
|
||||
width?: Maybe<Scalars["Int"]["output"]>;
|
||||
};
|
||||
|
||||
export type VideoTag = {
|
||||
__typename?: "VideoTag";
|
||||
name: Scalars["String"]["output"];
|
||||
@@ -1474,6 +1600,8 @@ export type GetVideoMakePercentageIntervalsQuery = {
|
||||
|
||||
export type GetShotsQueryVariables = Exact<{
|
||||
filterInput: FilterInput;
|
||||
shotsPagination?: InputMaybe<GetShotsPagination>;
|
||||
limit?: InputMaybe<Scalars["Int"]["input"]>;
|
||||
includeCreatedAt?: Scalars["Boolean"]["input"];
|
||||
includeUpdatedAt?: Scalars["Boolean"]["input"];
|
||||
includeCueObjectFeatures?: Scalars["Boolean"]["input"];
|
||||
@@ -1495,6 +1623,7 @@ export type GetShotsQuery = {
|
||||
videoId: number;
|
||||
startFrame: number;
|
||||
endFrame: number;
|
||||
falsePositiveScore?: number | null;
|
||||
createdAt?: any | null;
|
||||
updatedAt?: any | null;
|
||||
user?: { __typename?: "UserGQL"; id: number } | null;
|
||||
@@ -1600,6 +1729,7 @@ export type GetUsernamesQuery = {
|
||||
|
||||
export type GetStreamMonitoringDetailsQueryVariables = Exact<{
|
||||
videoId: Scalars["Int"]["input"];
|
||||
debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>;
|
||||
}>;
|
||||
|
||||
export type GetStreamMonitoringDetailsQuery = {
|
||||
@@ -1765,14 +1895,47 @@ export type GetVideoQuery = {
|
||||
__typename?: "HLSPlaylistGQL";
|
||||
segmentDurations: Array<number>;
|
||||
} | null;
|
||||
homographyHistory: Array<{
|
||||
__typename?: "HomographyInfoGQL";
|
||||
frameIndex: number;
|
||||
crop: {
|
||||
__typename?: "BoundingBoxGQL";
|
||||
left: number;
|
||||
top: number;
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
pockets: Array<{
|
||||
__typename?: "BoundingBoxGQL";
|
||||
left: number;
|
||||
top: number;
|
||||
width: number;
|
||||
height: number;
|
||||
}>;
|
||||
sourcePoints: {
|
||||
__typename?: "PocketPointsGQL";
|
||||
topLeft: { __typename?: "IntPoint2D"; x: number; y: number };
|
||||
topSide: { __typename?: "IntPoint2D"; x: number; y: number };
|
||||
topRight: { __typename?: "IntPoint2D"; x: number; y: number };
|
||||
bottomLeft: { __typename?: "IntPoint2D"; x: number; y: number };
|
||||
bottomSide: { __typename?: "IntPoint2D"; x: number; y: number };
|
||||
bottomRight: { __typename?: "IntPoint2D"; x: number; y: number };
|
||||
};
|
||||
}>;
|
||||
stream?: {
|
||||
__typename?: "UploadStreamGQL";
|
||||
streamSegmentType: StreamSegmentTypeEnum;
|
||||
segments: Array<{
|
||||
__typename?: "UploadSegmentGQL";
|
||||
segmentIndex: number;
|
||||
endFrameIndex?: number | null;
|
||||
framesPerSecond?: number | null;
|
||||
}>;
|
||||
resolution: {
|
||||
__typename?: "VideoResolutionGQL";
|
||||
width?: number | null;
|
||||
height?: number | null;
|
||||
};
|
||||
} | null;
|
||||
};
|
||||
};
|
||||
@@ -1812,6 +1975,36 @@ export type GetMedianRunForVideoQuery = {
|
||||
getVideo: { __typename?: "VideoGQL"; id: number; medianRun?: number | null };
|
||||
};
|
||||
|
||||
export type GetVideoForClipTimesQueryVariables = Exact<{
|
||||
videoId: Scalars["Int"]["input"];
|
||||
}>;
|
||||
|
||||
export type GetVideoForClipTimesQuery = {
|
||||
__typename?: "Query";
|
||||
getVideo: {
|
||||
__typename?: "VideoGQL";
|
||||
id: number;
|
||||
framesPerSecond: number;
|
||||
playlist?: {
|
||||
__typename?: "HLSPlaylistGQL";
|
||||
segmentDurations: Array<number>;
|
||||
} | null;
|
||||
stream?: {
|
||||
__typename?: "UploadStreamGQL";
|
||||
id: string;
|
||||
streamSegmentType: StreamSegmentTypeEnum;
|
||||
segments: Array<{
|
||||
__typename?: "UploadSegmentGQL";
|
||||
uploaded: boolean;
|
||||
valid: boolean;
|
||||
segmentIndex: number;
|
||||
endFrameIndex?: number | null;
|
||||
framesPerSecond?: number | null;
|
||||
}>;
|
||||
} | null;
|
||||
};
|
||||
};
|
||||
|
||||
export type CreateUploadStreamMutationVariables = Exact<{
|
||||
videoMetadataInput: VideoMetadataInput;
|
||||
}>;
|
||||
@@ -1919,6 +2112,7 @@ export type GetUploadStreamsWithDetailsQuery = {
|
||||
isCompleted: boolean;
|
||||
lastIntendedSegmentBound?: number | null;
|
||||
uploadCompletionCursor: number;
|
||||
uploadsCompleted: number;
|
||||
} | null;
|
||||
}>;
|
||||
pageInfo: {
|
||||
@@ -2269,6 +2463,8 @@ export type GetVideoMakePercentageIntervalsQueryResult = Apollo.QueryResult<
|
||||
export const GetShotsDocument = gql`
|
||||
query GetShots(
|
||||
$filterInput: FilterInput!
|
||||
$shotsPagination: GetShotsPagination = null
|
||||
$limit: Int
|
||||
$includeCreatedAt: Boolean! = false
|
||||
$includeUpdatedAt: Boolean! = false
|
||||
$includeCueObjectFeatures: Boolean! = false
|
||||
@@ -2281,7 +2477,11 @@ export const GetShotsDocument = gql`
|
||||
$includeMake: Boolean! = false
|
||||
$includeIntendedPocketType: Boolean! = false
|
||||
) {
|
||||
getShots(filterInput: $filterInput) {
|
||||
getShots(
|
||||
filterInput: $filterInput
|
||||
shotsPagination: $shotsPagination
|
||||
limit: $limit
|
||||
) {
|
||||
id
|
||||
videoId
|
||||
startFrame
|
||||
@@ -2289,6 +2489,7 @@ export const GetShotsDocument = gql`
|
||||
user {
|
||||
id
|
||||
}
|
||||
falsePositiveScore
|
||||
createdAt @include(if: $includeCreatedAt)
|
||||
updatedAt @include(if: $includeUpdatedAt)
|
||||
cueObjectFeatures @include(if: $includeCueObjectFeatures) {
|
||||
@@ -2320,6 +2521,8 @@ export const GetShotsDocument = gql`
|
||||
* const { data, loading, error } = useGetShotsQuery({
|
||||
* variables: {
|
||||
* filterInput: // value for 'filterInput'
|
||||
* shotsPagination: // value for 'shotsPagination'
|
||||
* limit: // value for 'limit'
|
||||
* includeCreatedAt: // value for 'includeCreatedAt'
|
||||
* includeUpdatedAt: // value for 'includeUpdatedAt'
|
||||
* includeCueObjectFeatures: // value for 'includeCueObjectFeatures'
|
||||
@@ -2791,8 +2994,8 @@ export type GetUsernamesQueryResult = Apollo.QueryResult<
|
||||
GetUsernamesQueryVariables
|
||||
>;
|
||||
export const GetStreamMonitoringDetailsDocument = gql`
|
||||
query GetStreamMonitoringDetails($videoId: Int!) {
|
||||
getVideo(videoId: $videoId) {
|
||||
query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
|
||||
getVideo(videoId: $videoId, debuggingJson: $debuggingJson) {
|
||||
id
|
||||
totalShots
|
||||
makePercentage
|
||||
@@ -2870,6 +3073,7 @@ export const GetStreamMonitoringDetailsDocument = gql`
|
||||
* const { data, loading, error } = useGetStreamMonitoringDetailsQuery({
|
||||
* variables: {
|
||||
* videoId: // value for 'videoId'
|
||||
* debuggingJson: // value for 'debuggingJson'
|
||||
* },
|
||||
* });
|
||||
*/
|
||||
@@ -3238,12 +3442,58 @@ export const GetVideoDocument = gql`
|
||||
playlist {
|
||||
segmentDurations
|
||||
}
|
||||
homographyHistory {
|
||||
frameIndex
|
||||
crop {
|
||||
left
|
||||
top
|
||||
width
|
||||
height
|
||||
}
|
||||
pockets {
|
||||
left
|
||||
top
|
||||
width
|
||||
height
|
||||
}
|
||||
sourcePoints {
|
||||
topLeft {
|
||||
x
|
||||
y
|
||||
}
|
||||
topSide {
|
||||
x
|
||||
y
|
||||
}
|
||||
topRight {
|
||||
x
|
||||
y
|
||||
}
|
||||
bottomLeft {
|
||||
x
|
||||
y
|
||||
}
|
||||
bottomSide {
|
||||
x
|
||||
y
|
||||
}
|
||||
bottomRight {
|
||||
x
|
||||
y
|
||||
}
|
||||
}
|
||||
}
|
||||
stream {
|
||||
streamSegmentType
|
||||
segments {
|
||||
segmentIndex
|
||||
endFrameIndex
|
||||
framesPerSecond
|
||||
}
|
||||
resolution {
|
||||
width
|
||||
height
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3531,6 +3781,94 @@ export type GetMedianRunForVideoQueryResult = Apollo.QueryResult<
|
||||
GetMedianRunForVideoQuery,
|
||||
GetMedianRunForVideoQueryVariables
|
||||
>;
|
||||
export const GetVideoForClipTimesDocument = gql`
|
||||
query GetVideoForClipTimes($videoId: Int!) {
|
||||
getVideo(videoId: $videoId) {
|
||||
id
|
||||
framesPerSecond
|
||||
playlist {
|
||||
segmentDurations
|
||||
}
|
||||
stream {
|
||||
id
|
||||
streamSegmentType
|
||||
segments {
|
||||
uploaded
|
||||
valid
|
||||
segmentIndex
|
||||
endFrameIndex
|
||||
framesPerSecond
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
/**
|
||||
* __useGetVideoForClipTimesQuery__
|
||||
*
|
||||
* To run a query within a React component, call `useGetVideoForClipTimesQuery` and pass it any options that fit your needs.
|
||||
* When your component renders, `useGetVideoForClipTimesQuery` 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 } = useGetVideoForClipTimesQuery({
|
||||
* variables: {
|
||||
* videoId: // value for 'videoId'
|
||||
* },
|
||||
* });
|
||||
*/
|
||||
export function useGetVideoForClipTimesQuery(
|
||||
baseOptions: Apollo.QueryHookOptions<
|
||||
GetVideoForClipTimesQuery,
|
||||
GetVideoForClipTimesQueryVariables
|
||||
>,
|
||||
) {
|
||||
const options = { ...defaultOptions, ...baseOptions };
|
||||
return Apollo.useQuery<
|
||||
GetVideoForClipTimesQuery,
|
||||
GetVideoForClipTimesQueryVariables
|
||||
>(GetVideoForClipTimesDocument, options);
|
||||
}
|
||||
export function useGetVideoForClipTimesLazyQuery(
|
||||
baseOptions?: Apollo.LazyQueryHookOptions<
|
||||
GetVideoForClipTimesQuery,
|
||||
GetVideoForClipTimesQueryVariables
|
||||
>,
|
||||
) {
|
||||
const options = { ...defaultOptions, ...baseOptions };
|
||||
return Apollo.useLazyQuery<
|
||||
GetVideoForClipTimesQuery,
|
||||
GetVideoForClipTimesQueryVariables
|
||||
>(GetVideoForClipTimesDocument, options);
|
||||
}
|
||||
export function useGetVideoForClipTimesSuspenseQuery(
|
||||
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
||||
GetVideoForClipTimesQuery,
|
||||
GetVideoForClipTimesQueryVariables
|
||||
>,
|
||||
) {
|
||||
const options = { ...defaultOptions, ...baseOptions };
|
||||
return Apollo.useSuspenseQuery<
|
||||
GetVideoForClipTimesQuery,
|
||||
GetVideoForClipTimesQueryVariables
|
||||
>(GetVideoForClipTimesDocument, options);
|
||||
}
|
||||
export type GetVideoForClipTimesQueryHookResult = ReturnType<
|
||||
typeof useGetVideoForClipTimesQuery
|
||||
>;
|
||||
export type GetVideoForClipTimesLazyQueryHookResult = ReturnType<
|
||||
typeof useGetVideoForClipTimesLazyQuery
|
||||
>;
|
||||
export type GetVideoForClipTimesSuspenseQueryHookResult = ReturnType<
|
||||
typeof useGetVideoForClipTimesSuspenseQuery
|
||||
>;
|
||||
export type GetVideoForClipTimesQueryResult = Apollo.QueryResult<
|
||||
GetVideoForClipTimesQuery,
|
||||
GetVideoForClipTimesQueryVariables
|
||||
>;
|
||||
export const CreateUploadStreamDocument = gql`
|
||||
mutation CreateUploadStream($videoMetadataInput: VideoMetadataInput!) {
|
||||
createUploadStream(videoMetadata: $videoMetadataInput) {
|
||||
@@ -3900,6 +4238,7 @@ export const GetUploadStreamsWithDetailsDocument = gql`
|
||||
isCompleted
|
||||
lastIntendedSegmentBound
|
||||
uploadCompletionCursor
|
||||
uploadsCompleted
|
||||
}
|
||||
}
|
||||
pageInfo {
|
||||
|
@@ -1,5 +1,7 @@
|
||||
query GetShots(
|
||||
$filterInput: FilterInput!
|
||||
$shotsPagination: GetShotsPagination = null
|
||||
$limit: Int
|
||||
$includeCreatedAt: Boolean! = false
|
||||
$includeUpdatedAt: Boolean! = false
|
||||
$includeCueObjectFeatures: Boolean! = false
|
||||
@@ -12,7 +14,11 @@ query GetShots(
|
||||
$includeMake: Boolean! = false
|
||||
$includeIntendedPocketType: Boolean! = false
|
||||
) {
|
||||
getShots(filterInput: $filterInput) {
|
||||
getShots(
|
||||
filterInput: $filterInput
|
||||
shotsPagination: $shotsPagination
|
||||
limit: $limit
|
||||
) {
|
||||
id
|
||||
videoId
|
||||
startFrame
|
||||
@@ -20,6 +26,7 @@ query GetShots(
|
||||
user {
|
||||
id
|
||||
}
|
||||
falsePositiveScore
|
||||
createdAt @include(if: $includeCreatedAt)
|
||||
updatedAt @include(if: $includeUpdatedAt)
|
||||
cueObjectFeatures @include(if: $includeCueObjectFeatures) {
|
||||
|
@@ -1,5 +1,5 @@
|
||||
query GetStreamMonitoringDetails($videoId: Int!) {
|
||||
getVideo(videoId: $videoId) {
|
||||
query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
|
||||
getVideo(videoId: $videoId, debuggingJson: $debuggingJson) {
|
||||
id
|
||||
totalShots
|
||||
makePercentage
|
||||
@@ -138,12 +138,58 @@ query GetVideo($videoId: Int!) {
|
||||
playlist {
|
||||
segmentDurations
|
||||
}
|
||||
homographyHistory {
|
||||
frameIndex
|
||||
crop {
|
||||
left
|
||||
top
|
||||
width
|
||||
height
|
||||
}
|
||||
pockets {
|
||||
left
|
||||
top
|
||||
width
|
||||
height
|
||||
}
|
||||
sourcePoints {
|
||||
topLeft {
|
||||
x
|
||||
y
|
||||
}
|
||||
topSide {
|
||||
x
|
||||
y
|
||||
}
|
||||
topRight {
|
||||
x
|
||||
y
|
||||
}
|
||||
bottomLeft {
|
||||
x
|
||||
y
|
||||
}
|
||||
bottomSide {
|
||||
x
|
||||
y
|
||||
}
|
||||
bottomRight {
|
||||
x
|
||||
y
|
||||
}
|
||||
}
|
||||
}
|
||||
stream {
|
||||
streamSegmentType
|
||||
segments {
|
||||
segmentIndex
|
||||
endFrameIndex
|
||||
framesPerSecond
|
||||
}
|
||||
resolution {
|
||||
width
|
||||
height
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -166,3 +212,24 @@ query GetMedianRunForVideo($videoId: Int!) {
|
||||
medianRun
|
||||
}
|
||||
}
|
||||
|
||||
query GetVideoForClipTimes($videoId: Int!) {
|
||||
getVideo(videoId: $videoId) {
|
||||
id
|
||||
framesPerSecond
|
||||
playlist {
|
||||
segmentDurations
|
||||
}
|
||||
stream {
|
||||
id
|
||||
streamSegmentType
|
||||
segments {
|
||||
uploaded
|
||||
valid
|
||||
segmentIndex
|
||||
endFrameIndex
|
||||
framesPerSecond
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -72,6 +72,7 @@ query GetUploadStreamsWithDetails(
|
||||
isCompleted
|
||||
lastIntendedSegmentBound
|
||||
uploadCompletionCursor
|
||||
uploadsCompleted
|
||||
}
|
||||
}
|
||||
pageInfo {
|
||||
|
@@ -4,11 +4,16 @@ type Query {
|
||||
): [AggregateResultGQL!]!
|
||||
getBucketSet(keyName: String!): BucketSetGQL
|
||||
getDeployedConfig: DeployedConfigGQL!
|
||||
waitFor(duration: Float!): Float!
|
||||
getVideoMakePercentageIntervals(
|
||||
videoId: ID!
|
||||
intervalDuration: Int! = 300
|
||||
): [MakePercentageIntervalGQL!]!
|
||||
getShots(filterInput: FilterInput!): [ShotGQL!]!
|
||||
getShots(
|
||||
filterInput: FilterInput!
|
||||
shotsPagination: GetShotsPagination = null
|
||||
limit: Int! = 500
|
||||
): [ShotGQL!]!
|
||||
getShotAnnotationTypes: [ShotAnnotationTypeGQL!]!
|
||||
getUser(userId: Int!): UserGQL
|
||||
getLoggedInUser: UserGQL
|
||||
@@ -24,7 +29,8 @@ type Query {
|
||||
after: String = null
|
||||
filters: VideoFilterInput = null
|
||||
): VideoHistoryGQL!
|
||||
getVideo(videoId: Int!): VideoGQL!
|
||||
getUserTags: [TagGQL!]!
|
||||
getVideo(videoId: Int!, debuggingJson: JSON = null): VideoGQL!
|
||||
getVideos(videoIds: [Int!]!): [VideoGQL!]!
|
||||
}
|
||||
|
||||
@@ -97,11 +103,13 @@ input FilterInput @oneOf {
|
||||
cueAngleAfterObject: RangeFilter
|
||||
cueSpeedAfterObject: RangeFilter
|
||||
spinType: [String!]
|
||||
falsePositiveScore: RangeFilter
|
||||
}
|
||||
|
||||
input RangeFilter {
|
||||
lessThan: Float = null
|
||||
greaterThanEqualTo: Float = null
|
||||
includeOnNone: Boolean! = false
|
||||
}
|
||||
|
||||
enum PocketEnum {
|
||||
@@ -164,6 +172,8 @@ type ShotGQL {
|
||||
serializedShotPaths: SerializedShotPathsGQL
|
||||
user: UserGQL
|
||||
annotations: [ShotAnnotationGQL!]!
|
||||
falsePositiveScore: Float
|
||||
video: VideoGQL
|
||||
}
|
||||
|
||||
"""
|
||||
@@ -225,15 +235,6 @@ type ShotAnnotationTypeGQL {
|
||||
name: String!
|
||||
}
|
||||
|
||||
type UserPlayTimeGQL {
|
||||
totalSeconds: Float!
|
||||
}
|
||||
|
||||
type VideoHistoryGQL {
|
||||
videos: [VideoGQL!]!
|
||||
pageInfo: PageInfoGQL!
|
||||
}
|
||||
|
||||
type VideoGQL {
|
||||
id: Int!
|
||||
owner: UserGQL
|
||||
@@ -272,6 +273,8 @@ type UploadStreamGQL {
|
||||
createdAt: DateTime!
|
||||
updatedAt: DateTime!
|
||||
segments: [UploadSegmentGQL!]!
|
||||
resolution: VideoResolutionGQL!
|
||||
streamSegmentType: StreamSegmentTypeEnum!
|
||||
}
|
||||
|
||||
enum InitPlaylistUploadStatusEnum {
|
||||
@@ -294,6 +297,16 @@ type UploadSegmentGQL {
|
||||
linksRequested: Int!
|
||||
}
|
||||
|
||||
type VideoResolutionGQL {
|
||||
width: Int
|
||||
height: Int
|
||||
}
|
||||
|
||||
enum StreamSegmentTypeEnum {
|
||||
FRAGMENTED_MP4
|
||||
RB_CHUNKED_MP4
|
||||
}
|
||||
|
||||
type HLSPlaylistGQL {
|
||||
videoId: Int!
|
||||
m3u8Text: String!
|
||||
@@ -340,6 +353,8 @@ type IntPoint2D {
|
||||
|
||||
type VideoProcessingGQL {
|
||||
errors: [VideoProcessingErrorGQL!]!
|
||||
status: ProcessingStatusEnum!
|
||||
statuses: [VideoProcessingStatusGQL!]!
|
||||
}
|
||||
|
||||
type VideoProcessingErrorGQL {
|
||||
@@ -348,6 +363,44 @@ type VideoProcessingErrorGQL {
|
||||
endSegmentIndex: Int
|
||||
}
|
||||
|
||||
enum ProcessingStatusEnum {
|
||||
STARTED
|
||||
FAILED
|
||||
SUCCEEDED
|
||||
SUSPENDED
|
||||
CREATED
|
||||
QUEUED
|
||||
RUNNING
|
||||
REEXTRACTING_FEATURES
|
||||
}
|
||||
|
||||
type VideoProcessingStatusGQL {
|
||||
status: ProcessingStatusEnum!
|
||||
appVersion: String!
|
||||
sequenceId: Int!
|
||||
createdAt: DateTime
|
||||
updatedAt: DateTime
|
||||
}
|
||||
|
||||
input GetShotsPagination {
|
||||
createdAfter: CreatedAfter!
|
||||
startFrameAfter: Int!
|
||||
}
|
||||
|
||||
input CreatedAfter @oneOf {
|
||||
videoId: Int
|
||||
createdAt: DateTime
|
||||
}
|
||||
|
||||
type UserPlayTimeGQL {
|
||||
totalSeconds: Float!
|
||||
}
|
||||
|
||||
type VideoHistoryGQL {
|
||||
videos: [VideoGQL!]!
|
||||
pageInfo: PageInfoGQL!
|
||||
}
|
||||
|
||||
type PageInfoGQL {
|
||||
hasNextPage: Boolean!
|
||||
endCursor: String
|
||||
@@ -358,9 +411,24 @@ input VideoFilterInput {
|
||||
requireCursorCompletion: Boolean! = true
|
||||
}
|
||||
|
||||
type TagGQL {
|
||||
name: String!
|
||||
id: Int!
|
||||
group: String
|
||||
}
|
||||
|
||||
"""
|
||||
The `JSON` scalar type represents JSON values as specified by [ECMA-404](https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf).
|
||||
"""
|
||||
scalar JSON
|
||||
@specifiedBy(
|
||||
url: "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf"
|
||||
)
|
||||
|
||||
type Mutation {
|
||||
createBucketSet(params: CreateBucketSetInput!): BucketSetGQL!
|
||||
setLoggerLevel(path: String!, level: String!): Boolean!
|
||||
addAnnotationToShot(shotId: Int!, annotationName: String!): Boolean!
|
||||
getProfileImageUploadLink(fileExt: String = ".png"): GetUploadLinkReturn!
|
||||
editProfileImageUri(profileImageUri: String!): UserGQL!
|
||||
createUploadStream(
|
||||
@@ -386,6 +454,7 @@ input CreateBucketSetInput {
|
||||
type GetUploadLinkReturn {
|
||||
uploadUrl: String!
|
||||
headers: [Header]!
|
||||
uploadCompletionCursor: Int
|
||||
}
|
||||
|
||||
type Header {
|
||||
@@ -429,11 +498,6 @@ enum DeviceTypeEnum {
|
||||
BROWSER
|
||||
}
|
||||
|
||||
enum StreamSegmentTypeEnum {
|
||||
FRAGMENTED_MP4
|
||||
RB_CHUNKED_MP4
|
||||
}
|
||||
|
||||
input VideoResolution {
|
||||
width: Int!
|
||||
height: Int!
|
||||
|
Reference in New Issue
Block a user