railbird-gql/src/index.tsx

968 lines
28 KiB
TypeScript
Raw Normal View History

2024-02-22 19:27:29 -07:00
import * as Apollo from "@apollo/client";
import { gql } from "@apollo/client";
2024-02-03 03:34:57 -07:00
export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
2024-02-22 19:27:29 -07:00
export type Exact<T extends { [key: string]: unknown }> = {
[K in keyof T]: T[K];
};
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
[SubKey in K]?: Maybe<T[SubKey]>;
};
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
[SubKey in K]: Maybe<T[SubKey]>;
};
export type MakeEmpty<
T extends { [key: string]: unknown },
K extends keyof T,
> = { [_ in K]?: never };
export type Incremental<T> =
| T
| {
[P in keyof T]?: P extends " $fragmentName" | "__typename" ? T[P] : never;
};
2024-02-03 03:34:57 -07:00
const defaultOptions = {} as const;
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
2024-02-22 19:27:29 -07:00
ID: { input: string; output: string };
String: { input: string; output: string };
Boolean: { input: boolean; output: boolean };
Int: { input: number; output: number };
Float: { input: number; output: number };
2024-02-03 03:34:57 -07:00
/** Date with time (isoformat) */
2024-02-22 19:27:29 -07:00
DateTime: { input: any; output: any };
2024-02-03 03:34:57 -07:00
/** Decimal (fixed-point) */
2024-02-22 19:27:29 -07:00
Decimal: { input: any; output: any };
2024-02-03 03:34:57 -07:00
};
export type AggregateResultGql = {
2024-02-22 19:27:29 -07:00
__typename?: "AggregateResultGQL";
2024-02-03 03:34:57 -07:00
featureBuckets: Array<BucketGql>;
targetMetrics: Array<TargetMetricGql>;
};
export type AndFilter = {
filters: Array<FilterInput>;
};
export type BankFeaturesGql = {
2024-02-22 19:27:29 -07:00
__typename?: "BankFeaturesGQL";
bankAngle: Scalars["Float"]["output"];
distance: Scalars["Float"]["output"];
2024-02-03 03:34:57 -07:00
wallsHit: Array<WallTypeEnum>;
};
export type BucketGql = {
2024-02-22 19:27:29 -07:00
__typename?: "BucketGQL";
lowerBound: Scalars["Float"]["output"];
rangeKey: Scalars["String"]["output"];
2024-02-03 03:34:57 -07:00
};
export type BucketInputGql = {
2024-02-22 19:27:29 -07:00
lowerBound: Scalars["Float"]["input"];
rangeKey: Scalars["String"]["input"];
2024-02-03 03:34:57 -07:00
};
export type BucketSetGql = {
2024-02-22 19:27:29 -07:00
__typename?: "BucketSetGQL";
2024-02-03 03:34:57 -07:00
buckets: Array<BucketGql>;
2024-02-22 19:27:29 -07:00
feature: Scalars["String"]["output"];
keyName: Scalars["String"]["output"];
2024-02-03 03:34:57 -07:00
};
export type BucketSetInputGql = {
buckets: Array<BucketInputGql>;
2024-02-22 19:27:29 -07:00
feature: Scalars["String"]["input"];
2024-02-03 03:34:57 -07:00
};
export type CreateBucketSetInput = {
buckets: Array<BucketInputGql>;
2024-02-22 19:27:29 -07:00
feature: Scalars["String"]["input"];
keyName: Scalars["String"]["input"];
2024-02-03 03:34:57 -07:00
};
export type CreateUploadStreamReturn = {
2024-02-22 19:27:29 -07:00
__typename?: "CreateUploadStreamReturn";
videoId: Scalars["Int"]["output"];
2024-02-03 03:34:57 -07:00
};
export type CueBallSpeedInput = {
value: RangeFilter;
};
export type CueObjectAngleInput = {
value: RangeFilter;
};
export type CueObjectDistanceInput = {
value: RangeFilter;
};
export type CueObjectFeaturesGql = {
2024-02-22 19:27:29 -07:00
__typename?: "CueObjectFeaturesGQL";
cueBallSpeed?: Maybe<Scalars["Float"]["output"]>;
cueObjectAngle?: Maybe<Scalars["Float"]["output"]>;
cueObjectDistance?: Maybe<Scalars["Float"]["output"]>;
2024-02-03 03:34:57 -07:00
shotDirection?: Maybe<ShotDirectionEnum>;
};
export enum DeviceTypeEnum {
2024-02-22 19:27:29 -07:00
Android = "ANDROID",
Browser = "BROWSER",
Ios = "IOS",
2024-02-03 03:34:57 -07:00
}
export type EnumFilter = {
2024-02-22 19:27:29 -07:00
equals?: InputMaybe<Scalars["String"]["input"]>;
2024-02-03 03:34:57 -07:00
};
export type FilterInput = {
andFilters?: InputMaybe<AndFilter>;
cueBallSpeed?: InputMaybe<CueBallSpeedInput>;
cueObjectAngle?: InputMaybe<CueObjectAngleInput>;
cueObjectDistance?: InputMaybe<CueObjectDistanceInput>;
intendedPocketType?: InputMaybe<IntendedPocketTypeInput>;
orFilters?: InputMaybe<OrFilter>;
shotDirection?: InputMaybe<ShotDirectionInput>;
targetPocketDistance?: InputMaybe<TargetPocketDistanceInput>;
};
export type GetUploadLinkReturn = {
2024-02-22 19:27:29 -07:00
__typename?: "GetUploadLinkReturn";
2024-03-04 17:48:59 -07:00
headers: Array<Maybe<Header>>;
2024-02-22 19:27:29 -07:00
uploadUrl: Scalars["String"]["output"];
2024-02-03 03:34:57 -07:00
};
2024-03-04 17:48:59 -07:00
export type Header = {
__typename?: "Header";
key: Scalars["String"]["output"];
value: Scalars["String"]["output"];
};
2024-02-03 03:34:57 -07:00
export type IntendedPocketTypeInput = {
value: EnumFilter;
};
export type Mutation = {
2024-02-22 19:27:29 -07:00
__typename?: "Mutation";
2024-02-03 03:34:57 -07:00
createBucketSet: BucketSetGql;
createUploadStream: CreateUploadStreamReturn;
getUploadLink: GetUploadLinkReturn;
2024-02-22 19:27:29 -07:00
terminateUploadStream: Scalars["Boolean"]["output"];
2024-02-03 03:34:57 -07:00
};
export type MutationCreateBucketSetArgs = {
params: CreateBucketSetInput;
};
export type MutationCreateUploadStreamArgs = {
2024-03-04 22:22:42 -07:00
videoMetadata: VideoMetadataInput;
2024-02-03 03:34:57 -07:00
};
export type MutationGetUploadLinkArgs = {
2024-02-22 19:27:29 -07:00
segmentIndex: Scalars["Int"]["input"];
videoId: Scalars["Int"]["input"];
2024-02-03 03:34:57 -07:00
};
export type MutationTerminateUploadStreamArgs = {
2024-02-22 19:27:29 -07:00
videoId: Scalars["Int"]["input"];
2024-03-04 22:22:42 -07:00
videoMetadata: VideoMetadataInput;
2024-02-03 03:34:57 -07:00
};
export type OrFilter = {
filters: Array<FilterInput>;
};
2024-02-20 19:18:21 -07:00
export type PageInfoGql = {
2024-02-22 19:27:29 -07:00
__typename?: "PageInfoGQL";
endCursor?: Maybe<Scalars["String"]["output"]>;
hasNextPage: Scalars["Boolean"]["output"];
2024-02-20 19:18:21 -07:00
};
2024-02-03 03:34:57 -07:00
export enum PocketEnum {
2024-02-22 19:27:29 -07:00
Corner = "CORNER",
Side = "SIDE",
2024-02-03 03:34:57 -07:00
}
export type PocketingIntentionFeaturesGql = {
2024-02-22 19:27:29 -07:00
__typename?: "PocketingIntentionFeaturesGQL";
2024-02-03 03:34:57 -07:00
intendedPocketType?: Maybe<PocketEnum>;
2024-02-22 19:27:29 -07:00
make?: Maybe<Scalars["Boolean"]["output"]>;
targetPocketDistance?: Maybe<Scalars["Float"]["output"]>;
2024-02-03 03:34:57 -07:00
};
export type Query = {
2024-02-22 19:27:29 -07:00
__typename?: "Query";
2024-02-03 03:34:57 -07:00
getAggregateShots: Array<AggregateResultGql>;
getBucketSet?: Maybe<BucketSetGql>;
2024-02-11 22:46:11 -07:00
getLoggedInUser?: Maybe<UserGql>;
2024-02-03 03:34:57 -07:00
getShots: Array<ShotGql>;
getUser?: Maybe<UserGql>;
getVideo: VideoGql;
2024-02-20 19:18:21 -07:00
getVideoFeedForUser: VideoFeedGql;
2024-02-03 03:34:57 -07:00
};
export type QueryGetAggregateShotsArgs = {
bucketSets: Array<BucketSetInputGql>;
};
export type QueryGetBucketSetArgs = {
2024-02-22 19:27:29 -07:00
keyName: Scalars["String"]["input"];
2024-02-03 03:34:57 -07:00
};
export type QueryGetShotsArgs = {
filterInput?: InputMaybe<FilterInput>;
};
export type QueryGetUserArgs = {
2024-02-22 19:27:29 -07:00
userId: Scalars["Int"]["input"];
2024-02-03 03:34:57 -07:00
};
export type QueryGetVideoArgs = {
2024-02-22 19:27:29 -07:00
videoId: Scalars["Int"]["input"];
2024-02-03 03:34:57 -07:00
};
2024-02-20 19:18:21 -07:00
export type QueryGetVideoFeedForUserArgs = {
2024-02-22 19:27:29 -07:00
after?: InputMaybe<Scalars["String"]["input"]>;
limit?: Scalars["Int"]["input"];
2024-02-20 19:18:21 -07:00
};
2024-02-03 03:34:57 -07:00
export type RangeFilter = {
2024-02-22 19:27:29 -07:00
greaterThanEqualTo?: InputMaybe<Scalars["Float"]["input"]>;
lessThan?: InputMaybe<Scalars["Float"]["input"]>;
2024-02-03 03:34:57 -07:00
};
export enum ShotDirectionEnum {
2024-02-22 19:27:29 -07:00
Left = "LEFT",
Right = "RIGHT",
Straight = "STRAIGHT",
2024-02-03 03:34:57 -07:00
}
export type ShotDirectionInput = {
value: EnumFilter;
};
export type ShotFeaturesGql = {
2024-02-22 19:27:29 -07:00
__typename?: "ShotFeaturesGQL";
2024-02-03 03:34:57 -07:00
bank?: Maybe<BankFeaturesGql>;
2024-02-22 19:27:29 -07:00
cueBallSpeed?: Maybe<Scalars["Float"]["output"]>;
cueObjectAngle?: Maybe<Scalars["Float"]["output"]>;
cueObjectDistance?: Maybe<Scalars["Float"]["output"]>;
2024-02-03 03:34:57 -07:00
intendedPocket?: Maybe<PocketEnum>;
shotDirection?: Maybe<ShotDirectionEnum>;
2024-02-22 19:27:29 -07:00
targetPocketDistance?: Maybe<Scalars["Float"]["output"]>;
2024-02-03 03:34:57 -07:00
};
export type ShotGql = {
2024-02-22 19:27:29 -07:00
__typename?: "ShotGQL";
createdAt?: Maybe<Scalars["DateTime"]["output"]>;
2024-02-03 03:34:57 -07:00
cueObjectFeatures?: Maybe<CueObjectFeaturesGql>;
2024-02-22 19:27:29 -07:00
endFrame?: Maybe<Scalars["Int"]["output"]>;
2024-02-03 03:34:57 -07:00
features?: Maybe<ShotFeaturesGql>;
2024-02-22 19:27:29 -07:00
id?: Maybe<Scalars["Int"]["output"]>;
2024-02-03 03:34:57 -07:00
pocketingIntentionFeatures?: Maybe<PocketingIntentionFeaturesGql>;
2024-02-22 19:27:29 -07:00
startFrame?: Maybe<Scalars["Int"]["output"]>;
updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
videoId?: Maybe<Scalars["Int"]["output"]>;
2024-02-03 03:34:57 -07:00
};
export type TargetFloatFeatureGql = {
2024-02-22 19:27:29 -07:00
__typename?: "TargetFloatFeatureGQL";
average?: Maybe<Scalars["Float"]["output"]>;
featureName: Scalars["String"]["output"];
median?: Maybe<Scalars["Float"]["output"]>;
2024-02-03 03:34:57 -07:00
};
export type TargetMetricGql = {
2024-02-22 19:27:29 -07:00
__typename?: "TargetMetricGQL";
count?: Maybe<Scalars["Int"]["output"]>;
2024-02-03 03:34:57 -07:00
floatFeature?: Maybe<TargetFloatFeatureGql>;
2024-02-22 19:27:29 -07:00
makePercentage?: Maybe<Scalars["Float"]["output"]>;
2024-02-03 03:34:57 -07:00
};
export type TargetPocketDistanceInput = {
value: RangeFilter;
};
export type UploadStreamGql = {
2024-02-22 19:27:29 -07:00
__typename?: "UploadStreamGQL";
createdAt: Scalars["DateTime"]["output"];
id: Scalars["ID"]["output"];
isCompleted: Scalars["Boolean"]["output"];
linksRequested: Scalars["Int"]["output"];
updatedAt: Scalars["DateTime"]["output"];
uploadsCompleted: Scalars["Int"]["output"];
2024-02-03 03:34:57 -07:00
};
export type UploadStreamMetadataInput = {
appVersion?: InputMaybe<Scalars["String"]["input"]>;
browserName?: InputMaybe<Scalars["String"]["input"]>;
browserVersion?: InputMaybe<Scalars["String"]["input"]>;
deviceType?: InputMaybe<DeviceTypeEnum>;
ipAddress?: InputMaybe<Scalars["String"]["input"]>;
locale?: InputMaybe<Scalars["String"]["input"]>;
networkType?: InputMaybe<Scalars["String"]["input"]>;
osVersion?: InputMaybe<Scalars["String"]["input"]>;
timezone?: InputMaybe<Scalars["String"]["input"]>;
2024-02-03 03:34:57 -07:00
};
export type UserGql = {
2024-02-22 19:27:29 -07:00
__typename?: "UserGQL";
createdAt?: Maybe<Scalars["DateTime"]["output"]>;
firebaseUid: Scalars["String"]["output"];
id: Scalars["Int"]["output"];
2024-02-03 03:34:57 -07:00
statistics: UserStatisticsGql;
2024-02-22 19:27:29 -07:00
updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
username: Scalars["String"]["output"];
2024-02-03 03:34:57 -07:00
};
export type UserStatisticsGql = {
2024-02-22 19:27:29 -07:00
__typename?: "UserStatisticsGQL";
averageTimeBetweenShots: Scalars["Decimal"]["output"];
makePercentage: Scalars["Decimal"]["output"];
medianRun?: Maybe<Scalars["Decimal"]["output"]>;
timeSpentPlaying: Scalars["Decimal"]["output"];
totalShots: Scalars["Int"]["output"];
totalShotsMade: Scalars["Int"]["output"];
2024-02-03 03:34:57 -07:00
};
2024-02-20 19:18:21 -07:00
export type VideoFeedGql = {
2024-02-22 19:27:29 -07:00
__typename?: "VideoFeedGQL";
2024-02-20 19:18:21 -07:00
pageInfo: PageInfoGql;
videos: Array<VideoGql>;
};
2024-02-03 03:34:57 -07:00
export type VideoGql = {
2024-02-22 19:27:29 -07:00
__typename?: "VideoGQL";
averageTimeBetweenShots?: Maybe<Scalars["Float"]["output"]>;
createdAt?: Maybe<Scalars["DateTime"]["output"]>;
elapsedTime?: Maybe<Scalars["Float"]["output"]>;
endTime?: Maybe<Scalars["DateTime"]["output"]>;
framesPerSecond: Scalars["Int"]["output"];
id: Scalars["Int"]["output"];
makePercentage: Scalars["Float"]["output"];
medianRun?: Maybe<Scalars["Float"]["output"]>;
name?: Maybe<Scalars["String"]["output"]>;
2024-02-24 12:59:27 -07:00
owner?: Maybe<UserGql>;
2024-02-03 03:34:57 -07:00
shots: Array<ShotGql>;
2024-02-22 19:27:29 -07:00
startTime?: Maybe<Scalars["DateTime"]["output"]>;
2024-02-03 03:34:57 -07:00
stream?: Maybe<UploadStreamGql>;
2024-02-22 19:27:29 -07:00
totalShots: Scalars["Int"]["output"];
totalShotsMade: Scalars["Int"]["output"];
updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
2024-02-03 03:34:57 -07:00
};
export type VideoMetadataInput = {
endTime?: InputMaybe<Scalars["DateTime"]["input"]>;
gameType?: InputMaybe<Scalars["String"]["input"]>;
startTime?: InputMaybe<Scalars["DateTime"]["input"]>;
tableSize?: InputMaybe<Scalars["String"]["input"]>;
uploadStreamMetadataInput?: InputMaybe<UploadStreamMetadataInput>;
videoName?: InputMaybe<Scalars["String"]["input"]>;
};
2024-02-03 03:34:57 -07:00
export enum WallTypeEnum {
2024-02-22 19:27:29 -07:00
Long = "LONG",
Short = "SHORT",
2024-02-03 03:34:57 -07:00
}
2024-02-05 12:16:58 -07:00
export type GetAggregateShotsQueryVariables = Exact<{
bucketSets: Array<BucketSetInputGql> | BucketSetInputGql;
}>;
2024-02-22 19:27:29 -07:00
export type GetAggregateShotsQuery = {
__typename?: "Query";
getAggregateShots: Array<{
__typename?: "AggregateResultGQL";
featureBuckets: Array<{
__typename?: "BucketGQL";
rangeKey: string;
lowerBound: number;
}>;
targetMetrics: Array<{
__typename?: "TargetMetricGQL";
count?: number | null;
makePercentage?: number | null;
floatFeature?: {
__typename?: "TargetFloatFeatureGQL";
featureName: string;
average?: number | null;
median?: number | null;
} | null;
}>;
}>;
};
2024-02-05 12:16:58 -07:00
2024-02-21 19:13:30 -07:00
export type GetFeedQueryVariables = Exact<{
2024-02-22 19:27:29 -07:00
limit?: Scalars["Int"]["input"];
after?: InputMaybe<Scalars["String"]["input"]>;
2024-02-21 19:13:30 -07:00
}>;
2024-02-22 19:27:29 -07:00
export type GetFeedQuery = {
__typename?: "Query";
getVideoFeedForUser: {
__typename?: "VideoFeedGQL";
videos: Array<{
__typename?: "VideoGQL";
id: number;
name?: string | null;
totalShotsMade: number;
totalShots: number;
makePercentage: number;
medianRun?: number | null;
averageTimeBetweenShots?: number | null;
createdAt?: any | null;
updatedAt?: any | null;
startTime?: any | null;
endTime?: any | null;
elapsedTime?: number | null;
2024-02-24 12:59:27 -07:00
owner?: { __typename?: "UserGQL"; username: string } | null;
2024-02-22 19:27:29 -07:00
shots: Array<{
__typename?: "ShotGQL";
id?: number | null;
videoId?: number | null;
startFrame?: number | null;
endFrame?: number | null;
createdAt?: any | null;
updatedAt?: any | null;
}>;
stream?: {
__typename?: "UploadStreamGQL";
id: string;
linksRequested: number;
uploadsCompleted: number;
isCompleted: boolean;
createdAt: any;
updatedAt: any;
} | null;
}>;
pageInfo: {
__typename?: "PageInfoGQL";
hasNextPage: boolean;
endCursor?: string | null;
};
};
};
2024-02-21 19:13:30 -07:00
2024-02-05 12:16:58 -07:00
export type GetShotsQueryVariables = Exact<{
filterInput?: InputMaybe<FilterInput>;
2024-02-22 19:27:29 -07:00
includeCueObjectDistance?: Scalars["Boolean"]["input"];
includeCueObjectAngle?: Scalars["Boolean"]["input"];
includeCueBallSpeed?: Scalars["Boolean"]["input"];
includeShotDirection?: Scalars["Boolean"]["input"];
includeTargetPocketDistance?: Scalars["Boolean"]["input"];
includeMake?: Scalars["Boolean"]["input"];
includeIntendedPocketType?: Scalars["Boolean"]["input"];
2024-02-05 12:16:58 -07:00
}>;
2024-02-22 19:27:29 -07:00
export type GetShotsQuery = {
__typename?: "Query";
getShots: Array<{
__typename?: "ShotGQL";
id?: number | null;
videoId?: number | null;
startFrame?: number | null;
endFrame?: number | null;
createdAt?: any | null;
updatedAt?: any | null;
cueObjectFeatures?: {
__typename?: "CueObjectFeaturesGQL";
cueObjectDistance?: number | null;
cueObjectAngle?: number | null;
cueBallSpeed?: number | null;
shotDirection?: ShotDirectionEnum | null;
} | null;
pocketingIntentionFeatures?: {
__typename?: "PocketingIntentionFeaturesGQL";
targetPocketDistance?: number | null;
make?: boolean | null;
intendedPocketType?: PocketEnum | null;
} | null;
}>;
};
2024-02-05 12:16:58 -07:00
2024-02-03 03:34:57 -07:00
export type CreateUploadStreamMutationVariables = Exact<{
videoMetadataInput: VideoMetadataInput;
2024-02-03 03:34:57 -07:00
}>;
2024-02-22 19:27:29 -07:00
export type CreateUploadStreamMutation = {
__typename?: "Mutation";
createUploadStream: {
__typename?: "CreateUploadStreamReturn";
videoId: number;
};
};
2024-02-03 03:34:57 -07:00
export type GetUploadLinkMutationVariables = Exact<{
2024-02-22 19:27:29 -07:00
videoId: Scalars["Int"]["input"];
segmentIndex: Scalars["Int"]["input"];
2024-02-03 03:34:57 -07:00
}>;
2024-02-22 19:27:29 -07:00
export type GetUploadLinkMutation = {
__typename?: "Mutation";
getUploadLink: {
__typename?: "GetUploadLinkReturn";
uploadUrl: string;
headers: Array<{
__typename?: "Header";
key: string;
value: string;
} | null>;
};
2024-02-22 19:27:29 -07:00
};
2024-02-03 03:34:57 -07:00
export type TerminateUploadStreamMutationVariables = Exact<{
2024-02-22 19:27:29 -07:00
videoId: Scalars["Int"]["input"];
videoMetadataInput: VideoMetadataInput;
2024-02-03 03:34:57 -07:00
}>;
2024-02-22 19:27:29 -07:00
export type TerminateUploadStreamMutation = {
__typename?: "Mutation";
terminateUploadStream: boolean;
};
2024-02-03 03:34:57 -07:00
2024-02-05 12:16:58 -07:00
export const GetAggregateShotsDocument = gql`
2024-02-22 19:27:29 -07:00
query GetAggregateShots($bucketSets: [BucketSetInputGQL!]!) {
getAggregateShots(bucketSets: $bucketSets) {
featureBuckets {
rangeKey
lowerBound
}
targetMetrics {
count
makePercentage
floatFeature {
featureName
average
median
}
2024-02-05 12:16:58 -07:00
}
}
}
2024-02-22 19:27:29 -07:00
`;
2024-02-05 12:16:58 -07:00
/**
* __useGetAggregateShotsQuery__
*
* To run a query within a React component, call `useGetAggregateShotsQuery` and pass it any options that fit your needs.
* When your component renders, `useGetAggregateShotsQuery` 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 } = useGetAggregateShotsQuery({
* variables: {
* bucketSets: // value for 'bucketSets'
* },
* });
*/
2024-02-22 19:27:29 -07:00
export function useGetAggregateShotsQuery(
baseOptions: Apollo.QueryHookOptions<
GetAggregateShotsQuery,
GetAggregateShotsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<
GetAggregateShotsQuery,
GetAggregateShotsQueryVariables
>(GetAggregateShotsDocument, options);
}
export function useGetAggregateShotsLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetAggregateShotsQuery,
GetAggregateShotsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<
GetAggregateShotsQuery,
GetAggregateShotsQueryVariables
>(GetAggregateShotsDocument, options);
}
export function useGetAggregateShotsSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetAggregateShotsQuery,
GetAggregateShotsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<
GetAggregateShotsQuery,
GetAggregateShotsQueryVariables
>(GetAggregateShotsDocument, options);
}
export type GetAggregateShotsQueryHookResult = ReturnType<
typeof useGetAggregateShotsQuery
>;
export type GetAggregateShotsLazyQueryHookResult = ReturnType<
typeof useGetAggregateShotsLazyQuery
>;
export type GetAggregateShotsSuspenseQueryHookResult = ReturnType<
typeof useGetAggregateShotsSuspenseQuery
>;
export type GetAggregateShotsQueryResult = Apollo.QueryResult<
GetAggregateShotsQuery,
GetAggregateShotsQueryVariables
>;
2024-02-21 19:13:30 -07:00
export const GetFeedDocument = gql`
2024-02-22 19:27:29 -07:00
query GetFeed($limit: Int! = 5, $after: String = null) {
getVideoFeedForUser(limit: $limit, after: $after) {
videos {
2024-02-21 19:13:30 -07:00
id
2024-02-24 12:59:27 -07:00
owner {
username
}
2024-02-22 19:27:29 -07:00
name
totalShotsMade
totalShots
makePercentage
medianRun
averageTimeBetweenShots
2024-02-21 19:13:30 -07:00
createdAt
updatedAt
2024-02-22 19:27:29 -07:00
shots {
id
videoId
startFrame
endFrame
createdAt
updatedAt
}
startTime
endTime
elapsedTime
stream {
id
linksRequested
uploadsCompleted
isCompleted
createdAt
updatedAt
}
2024-02-21 19:13:30 -07:00
}
2024-02-22 19:27:29 -07:00
pageInfo {
hasNextPage
endCursor
2024-02-21 19:13:30 -07:00
}
}
}
2024-02-22 19:27:29 -07:00
`;
2024-02-21 19:13:30 -07:00
/**
* __useGetFeedQuery__
*
* To run a query within a React component, call `useGetFeedQuery` and pass it any options that fit your needs.
* When your component renders, `useGetFeedQuery` 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 } = useGetFeedQuery({
* variables: {
* limit: // value for 'limit'
2024-02-21 19:13:30 -07:00
* after: // value for 'after'
* },
* });
*/
2024-02-22 19:27:29 -07:00
export function useGetFeedQuery(
baseOptions?: Apollo.QueryHookOptions<GetFeedQuery, GetFeedQueryVariables>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<GetFeedQuery, GetFeedQueryVariables>(
GetFeedDocument,
options,
);
}
export function useGetFeedLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetFeedQuery,
GetFeedQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<GetFeedQuery, GetFeedQueryVariables>(
GetFeedDocument,
options,
);
}
export function useGetFeedSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetFeedQuery,
GetFeedQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<GetFeedQuery, GetFeedQueryVariables>(
GetFeedDocument,
options,
);
}
2024-02-21 19:13:30 -07:00
export type GetFeedQueryHookResult = ReturnType<typeof useGetFeedQuery>;
export type GetFeedLazyQueryHookResult = ReturnType<typeof useGetFeedLazyQuery>;
2024-02-22 19:27:29 -07:00
export type GetFeedSuspenseQueryHookResult = ReturnType<
typeof useGetFeedSuspenseQuery
>;
export type GetFeedQueryResult = Apollo.QueryResult<
GetFeedQuery,
GetFeedQueryVariables
>;
2024-02-05 12:16:58 -07:00
export const GetShotsDocument = gql`
2024-02-22 19:27:29 -07:00
query GetShots(
$filterInput: FilterInput
$includeCueObjectDistance: Boolean! = false
$includeCueObjectAngle: Boolean! = false
$includeCueBallSpeed: Boolean! = false
$includeShotDirection: Boolean! = false
$includeTargetPocketDistance: Boolean! = false
$includeMake: Boolean! = false
$includeIntendedPocketType: Boolean! = false
) {
getShots(filterInput: $filterInput) {
id
videoId
startFrame
endFrame
createdAt
updatedAt
cueObjectFeatures {
cueObjectDistance @include(if: $includeCueObjectDistance)
cueObjectAngle @include(if: $includeCueObjectAngle)
cueBallSpeed @include(if: $includeCueBallSpeed)
shotDirection @include(if: $includeShotDirection)
}
pocketingIntentionFeatures {
targetPocketDistance @include(if: $includeTargetPocketDistance)
make @include(if: $includeMake)
intendedPocketType @include(if: $includeIntendedPocketType)
}
2024-02-05 12:16:58 -07:00
}
}
2024-02-22 19:27:29 -07:00
`;
2024-02-05 12:16:58 -07:00
/**
* __useGetShotsQuery__
*
* To run a query within a React component, call `useGetShotsQuery` and pass it any options that fit your needs.
* When your component renders, `useGetShotsQuery` 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 } = useGetShotsQuery({
* variables: {
* filterInput: // value for 'filterInput'
* includeCueObjectDistance: // value for 'includeCueObjectDistance'
* includeCueObjectAngle: // value for 'includeCueObjectAngle'
* includeCueBallSpeed: // value for 'includeCueBallSpeed'
* includeShotDirection: // value for 'includeShotDirection'
* includeTargetPocketDistance: // value for 'includeTargetPocketDistance'
* includeMake: // value for 'includeMake'
* includeIntendedPocketType: // value for 'includeIntendedPocketType'
* },
* });
*/
2024-02-22 19:27:29 -07:00
export function useGetShotsQuery(
baseOptions?: Apollo.QueryHookOptions<GetShotsQuery, GetShotsQueryVariables>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<GetShotsQuery, GetShotsQueryVariables>(
GetShotsDocument,
options,
);
}
export function useGetShotsLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetShotsQuery,
GetShotsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<GetShotsQuery, GetShotsQueryVariables>(
GetShotsDocument,
options,
);
}
export function useGetShotsSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetShotsQuery,
GetShotsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<GetShotsQuery, GetShotsQueryVariables>(
GetShotsDocument,
options,
);
}
2024-02-05 12:16:58 -07:00
export type GetShotsQueryHookResult = ReturnType<typeof useGetShotsQuery>;
2024-02-22 19:27:29 -07:00
export type GetShotsLazyQueryHookResult = ReturnType<
typeof useGetShotsLazyQuery
>;
export type GetShotsSuspenseQueryHookResult = ReturnType<
typeof useGetShotsSuspenseQuery
>;
export type GetShotsQueryResult = Apollo.QueryResult<
GetShotsQuery,
GetShotsQueryVariables
>;
2024-02-03 03:34:57 -07:00
export const CreateUploadStreamDocument = gql`
mutation CreateUploadStream($videoMetadataInput: VideoMetadataInput!) {
createUploadStream(videoMetadata: $videoMetadataInput) {
2024-02-22 19:27:29 -07:00
videoId
}
2024-02-03 03:34:57 -07:00
}
2024-02-22 19:27:29 -07:00
`;
export type CreateUploadStreamMutationFn = Apollo.MutationFunction<
CreateUploadStreamMutation,
CreateUploadStreamMutationVariables
>;
2024-02-03 03:34:57 -07:00
/**
* __useCreateUploadStreamMutation__
*
* To run a mutation, you first call `useCreateUploadStreamMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useCreateUploadStreamMutation` 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 [createUploadStreamMutation, { data, loading, error }] = useCreateUploadStreamMutation({
* variables: {
* videoMetadataInput: // value for 'videoMetadataInput'
2024-02-03 03:34:57 -07:00
* },
* });
*/
2024-02-22 19:27:29 -07:00
export function useCreateUploadStreamMutation(
baseOptions?: Apollo.MutationHookOptions<
CreateUploadStreamMutation,
CreateUploadStreamMutationVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useMutation<
CreateUploadStreamMutation,
CreateUploadStreamMutationVariables
>(CreateUploadStreamDocument, options);
}
export type CreateUploadStreamMutationHookResult = ReturnType<
typeof useCreateUploadStreamMutation
>;
export type CreateUploadStreamMutationResult =
Apollo.MutationResult<CreateUploadStreamMutation>;
export type CreateUploadStreamMutationOptions = Apollo.BaseMutationOptions<
CreateUploadStreamMutation,
CreateUploadStreamMutationVariables
>;
2024-02-03 03:34:57 -07:00
export const GetUploadLinkDocument = gql`
2024-02-22 19:27:29 -07:00
mutation GetUploadLink($videoId: Int!, $segmentIndex: Int!) {
getUploadLink(videoId: $videoId, segmentIndex: $segmentIndex) {
uploadUrl
headers {
key
value
}
2024-02-22 19:27:29 -07:00
}
2024-02-03 03:34:57 -07:00
}
2024-02-22 19:27:29 -07:00
`;
export type GetUploadLinkMutationFn = Apollo.MutationFunction<
GetUploadLinkMutation,
GetUploadLinkMutationVariables
>;
2024-02-03 03:34:57 -07:00
/**
* __useGetUploadLinkMutation__
*
* To run a mutation, you first call `useGetUploadLinkMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useGetUploadLinkMutation` 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 [getUploadLinkMutation, { data, loading, error }] = useGetUploadLinkMutation({
* variables: {
* videoId: // value for 'videoId'
2024-02-11 22:46:11 -07:00
* segmentIndex: // value for 'segmentIndex'
2024-02-03 03:34:57 -07:00
* },
* });
*/
2024-02-22 19:27:29 -07:00
export function useGetUploadLinkMutation(
baseOptions?: Apollo.MutationHookOptions<
GetUploadLinkMutation,
GetUploadLinkMutationVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useMutation<
GetUploadLinkMutation,
GetUploadLinkMutationVariables
>(GetUploadLinkDocument, options);
}
2024-02-22 19:27:29 -07:00
export type GetUploadLinkMutationHookResult = ReturnType<
typeof useGetUploadLinkMutation
>;
export type GetUploadLinkMutationResult =
Apollo.MutationResult<GetUploadLinkMutation>;
export type GetUploadLinkMutationOptions = Apollo.BaseMutationOptions<
GetUploadLinkMutation,
GetUploadLinkMutationVariables
>;
export const TerminateUploadStreamDocument = gql`
mutation TerminateUploadStream(
$videoId: Int!
$videoMetadataInput: VideoMetadataInput!
2024-02-22 19:27:29 -07:00
) {
terminateUploadStream(videoId: $videoId, videoMetadata: $videoMetadataInput)
2024-02-22 19:27:29 -07:00
}
`;
export type TerminateUploadStreamMutationFn = Apollo.MutationFunction<
TerminateUploadStreamMutation,
TerminateUploadStreamMutationVariables
>;
2024-02-03 03:34:57 -07:00
/**
* __useTerminateUploadStreamMutation__
*
* To run a mutation, you first call `useTerminateUploadStreamMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useTerminateUploadStreamMutation` 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 [terminateUploadStreamMutation, { data, loading, error }] = useTerminateUploadStreamMutation({
* variables: {
* videoId: // value for 'videoId'
* videoMetadataInput: // value for 'videoMetadataInput'
2024-02-03 03:34:57 -07:00
* },
* });
*/
2024-02-22 19:27:29 -07:00
export function useTerminateUploadStreamMutation(
baseOptions?: Apollo.MutationHookOptions<
TerminateUploadStreamMutation,
TerminateUploadStreamMutationVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useMutation<
TerminateUploadStreamMutation,
TerminateUploadStreamMutationVariables
>(TerminateUploadStreamDocument, options);
}
export type TerminateUploadStreamMutationHookResult = ReturnType<
typeof useTerminateUploadStreamMutation
>;
export type TerminateUploadStreamMutationResult =
Apollo.MutationResult<TerminateUploadStreamMutation>;
export type TerminateUploadStreamMutationOptions = Apollo.BaseMutationOptions<
TerminateUploadStreamMutation,
TerminateUploadStreamMutationVariables
>;