Adds init playlist status #17

Merged
countablecloud merged 2 commits from mk/add-init-file-uploaded-marking into master 2024-07-16 15:26:28 -06:00
4 changed files with 535 additions and 0 deletions
Showing only changes of commit 7502a75753 - Show all commits

View File

@ -132,17 +132,23 @@ export type FilterInput =
| {
andFilters: Array<FilterInput>;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
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;
tags?: never;
@ -153,17 +159,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations: Array<ShotAnnotationInput>;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
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;
tags?: never;
@ -174,17 +186,77 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle: RangeFilter;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
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;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance: RangeFilter;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
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;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed: RangeFilter;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
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;
tags?: never;
@ -195,17 +267,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle: RangeFilter;
cueObjectDistance?: never;
difficulty?: never;
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;
tags?: never;
@ -216,17 +294,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance: RangeFilter;
difficulty?: never;
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;
tags?: never;
@ -237,17 +321,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty: 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;
tags?: never;
@ -258,17 +348,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType: Array<PocketEnum>;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
notFilter?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
@ -279,17 +375,50 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect: Array<Scalars["Boolean"]["input"]>;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
notFilter?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft: Array<Scalars["Boolean"]["input"]>;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
notFilter?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
@ -300,17 +429,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss: Array<Scalars["Boolean"]["input"]>;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
notFilter?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
@ -321,17 +456,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight: Array<Scalars["Boolean"]["input"]>;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
notFilter?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
@ -342,17 +483,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss: Array<Scalars["Boolean"]["input"]>;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
notFilter?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
@ -363,17 +510,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight: Array<Scalars["Boolean"]["input"]>;
kickAngle?: never;
kickDistance?: never;
make?: never;
notFilter?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
@ -384,17 +537,77 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle: RangeFilter;
kickDistance?: never;
make?: never;
notFilter?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance: RangeFilter;
make?: never;
notFilter?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make: Array<Scalars["Boolean"]["input"]>;
notFilter?: never;
orFilters?: never;
shotDirection?: never;
tags?: never;
@ -405,17 +618,50 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
notFilter: FilterInput;
orFilters?: never;
shotDirection?: never;
tags?: never;
targetPocketDistance?: never;
userId?: never;
videoId?: never;
}
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
intendedPocketType?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
notFilter?: never;
orFilters: Array<FilterInput>;
shotDirection?: never;
tags?: never;
@ -426,17 +672,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
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: Array<ShotDirectionEnum>;
tags?: never;
@ -447,17 +699,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
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;
tags: Array<VideoTagInput>;
@ -468,17 +726,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
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;
tags?: never;
@ -489,17 +753,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
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;
tags?: never;
@ -510,17 +780,23 @@ export type FilterInput =
| {
andFilters?: never;
annotations?: never;
bankAngle?: never;
bankDistance?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
difficulty?: never;
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;
tags?: never;
@ -582,9 +858,11 @@ export type Mutation = {
deleteVideo: Scalars["Boolean"]["output"];
editProfileImageUri: UserGql;
editUploadStream: Scalars["Boolean"]["output"];
getHlsInitUploadLink: GetUploadLinkReturn;
getProfileImageUploadLink: GetUploadLinkReturn;
getUploadLink: GetUploadLinkReturn;
setLoggerLevel: Scalars["Boolean"]["output"];
setSegmentDuration: Scalars["Boolean"]["output"];
};
export type MutationCreateBucketSetArgs = {
@ -608,6 +886,10 @@ export type MutationEditUploadStreamArgs = {
videoMetadata: VideoMetadataInput;
};
export type MutationGetHlsInitUploadLinkArgs = {
videoId: Scalars["Int"]["input"];
};
export type MutationGetProfileImageUploadLinkArgs = {
fileExt?: InputMaybe<Scalars["String"]["input"]>;
};
@ -622,6 +904,12 @@ export type MutationSetLoggerLevelArgs = {
path: Scalars["String"]["input"];
};
export type MutationSetSegmentDurationArgs = {
duration: Scalars["Float"]["input"];
segmentId: Scalars["Int"]["input"];
videoId: Scalars["Int"]["input"];
};
export type PageInfoGql = {
__typename?: "PageInfoGQL";
endCursor?: Maybe<Scalars["String"]["output"]>;
@ -662,6 +950,7 @@ export type Query = {
getShots: Array<ShotGql>;
getUser?: Maybe<UserGql>;
getUserVideos: VideoHistoryGql;
getUsernames: Array<Scalars["String"]["output"]>;
getVideo: VideoGql;
getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>;
getVideos: Array<VideoGql>;
@ -694,6 +983,12 @@ export type QueryGetUserVideosArgs = {
userId?: InputMaybe<Scalars["Int"]["input"]>;
};
export type QueryGetUsernamesArgs = {
after?: InputMaybe<Scalars["String"]["input"]>;
limit?: InputMaybe<Scalars["Int"]["input"]>;
matchString?: InputMaybe<Scalars["String"]["input"]>;
};
export type QueryGetVideoArgs = {
videoId: Scalars["Int"]["input"];
};
@ -717,6 +1012,16 @@ export type SerializedShotPathsGql = {
b64EncodedBuffer?: Maybe<Scalars["String"]["output"]>;
};
export type ShotAnnotationGql = {
__typename?: "ShotAnnotationGQL";
createdAt?: Maybe<Scalars["DateTime"]["output"]>;
creator: UserGql;
notes: Scalars["String"]["output"];
shotId: Scalars["Int"]["output"];
type: ShotAnnotationTypeGql;
updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
};
export type ShotAnnotationInput = {
name: Scalars["String"]["input"];
};
@ -735,6 +1040,7 @@ export enum ShotDirectionEnum {
export type ShotGql = {
__typename?: "ShotGQL";
annotations: Array<ShotAnnotationGql>;
bankFeatures?: Maybe<BankFeaturesGql>;
createdAt?: Maybe<Scalars["DateTime"]["output"]>;
cueObjectFeatures?: Maybe<CueObjectFeaturesGql>;
@ -753,6 +1059,11 @@ export type StreamErrorGql = {
message: Scalars["String"]["output"];
};
export enum StreamSegmentTypeEnum {
FragmentedMp4 = "FRAGMENTED_MP4",
RbChunkedMp4 = "RB_CHUNKED_MP4",
}
export type TargetMetricsGql = {
__typename?: "TargetMetricsGQL";
averageDifficulty?: Maybe<Scalars["Float"]["output"]>;
@ -806,6 +1117,7 @@ export type UserGql = {
createdAt?: Maybe<Scalars["DateTime"]["output"]>;
firebaseUid: Scalars["String"]["output"];
id: Scalars["Int"]["output"];
isAdmin: Scalars["Boolean"]["output"];
profileImageUri?: Maybe<Scalars["String"]["output"]>;
updatedAt?: Maybe<Scalars["DateTime"]["output"]>;
username: Scalars["String"]["output"];
@ -858,6 +1170,7 @@ export type VideoMetadataInput = {
gameType?: InputMaybe<Scalars["String"]["input"]>;
lastIntendedSegmentBound?: InputMaybe<Scalars["Int"]["input"]>;
startTime?: InputMaybe<Scalars["DateTime"]["input"]>;
streamSegmentType?: InputMaybe<StreamSegmentTypeEnum>;
tableSize?: InputMaybe<Scalars["String"]["input"]>;
uploadStreamMetadataInput?: InputMaybe<UploadStreamMetadataInput>;
videoName?: InputMaybe<Scalars["String"]["input"]>;
@ -1029,6 +1342,19 @@ export type GetShotsQuery = {
}>;
};
export type GetShotAnnotationTypesQueryVariables = Exact<{
[key: string]: never;
}>;
export type GetShotAnnotationTypesQuery = {
__typename?: "Query";
getShotAnnotationTypes: Array<{
__typename?: "ShotAnnotationTypeGQL";
id: number;
name: string;
}>;
};
export type GetProfileImageUploadLinkMutationVariables = Exact<{
fileExt?: InputMaybe<Scalars["String"]["input"]>;
}>;
@ -1072,6 +1398,7 @@ export type GetLoggedInUserQuery = {
id: number;
firebaseUid: string;
username: string;
isAdmin: boolean;
profileImageUri?: string | null;
activeVideoId?: number | null;
createdAt?: any | null;
@ -1088,6 +1415,17 @@ export type GetUserPlayTimeQuery = {
getPlayTime: { __typename?: "UserPlayTimeGQL"; totalSeconds: number };
};
export type GetUsernamesQueryVariables = Exact<{
matchString: Scalars["String"]["input"];
limit?: InputMaybe<Scalars["Int"]["input"]>;
after?: InputMaybe<Scalars["String"]["input"]>;
}>;
export type GetUsernamesQuery = {
__typename?: "Query";
getUsernames: Array<string>;
};
export type GetStreamMonitoringDetailsQueryVariables = Exact<{
videoId: Scalars["Int"]["input"];
}>;
@ -1839,6 +2177,79 @@ export type GetShotsQueryResult = Apollo.QueryResult<
GetShotsQuery,
GetShotsQueryVariables
>;
export const GetShotAnnotationTypesDocument = gql`
query GetShotAnnotationTypes {
getShotAnnotationTypes {
id
name
}
}
`;
/**
* __useGetShotAnnotationTypesQuery__
*
* To run a query within a React component, call `useGetShotAnnotationTypesQuery` and pass it any options that fit your needs.
* When your component renders, `useGetShotAnnotationTypesQuery` 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 } = useGetShotAnnotationTypesQuery({
* variables: {
* },
* });
*/
export function useGetShotAnnotationTypesQuery(
baseOptions?: Apollo.QueryHookOptions<
GetShotAnnotationTypesQuery,
GetShotAnnotationTypesQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<
GetShotAnnotationTypesQuery,
GetShotAnnotationTypesQueryVariables
>(GetShotAnnotationTypesDocument, options);
}
export function useGetShotAnnotationTypesLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetShotAnnotationTypesQuery,
GetShotAnnotationTypesQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<
GetShotAnnotationTypesQuery,
GetShotAnnotationTypesQueryVariables
>(GetShotAnnotationTypesDocument, options);
}
export function useGetShotAnnotationTypesSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetShotAnnotationTypesQuery,
GetShotAnnotationTypesQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<
GetShotAnnotationTypesQuery,
GetShotAnnotationTypesQueryVariables
>(GetShotAnnotationTypesDocument, options);
}
export type GetShotAnnotationTypesQueryHookResult = ReturnType<
typeof useGetShotAnnotationTypesQuery
>;
export type GetShotAnnotationTypesLazyQueryHookResult = ReturnType<
typeof useGetShotAnnotationTypesLazyQuery
>;
export type GetShotAnnotationTypesSuspenseQueryHookResult = ReturnType<
typeof useGetShotAnnotationTypesSuspenseQuery
>;
export type GetShotAnnotationTypesQueryResult = Apollo.QueryResult<
GetShotAnnotationTypesQuery,
GetShotAnnotationTypesQueryVariables
>;
export const GetProfileImageUploadLinkDocument = gql`
mutation getProfileImageUploadLink($fileExt: String = ".png") {
getProfileImageUploadLink(fileExt: $fileExt) {
@ -1955,6 +2366,7 @@ export const GetLoggedInUserDocument = gql`
id
firebaseUid
username
isAdmin
profileImageUri
activeVideoId
createdAt
@ -2100,6 +2512,83 @@ export type GetUserPlayTimeQueryResult = Apollo.QueryResult<
GetUserPlayTimeQuery,
GetUserPlayTimeQueryVariables
>;
export const GetUsernamesDocument = gql`
query getUsernames(
$matchString: String!
$limit: Int = null
$after: String = null
) {
getUsernames(matchString: $matchString, limit: $limit, after: $after)
}
`;
/**
* __useGetUsernamesQuery__
*
* To run a query within a React component, call `useGetUsernamesQuery` and pass it any options that fit your needs.
* When your component renders, `useGetUsernamesQuery` 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 } = useGetUsernamesQuery({
* variables: {
* matchString: // value for 'matchString'
* limit: // value for 'limit'
* after: // value for 'after'
* },
* });
*/
export function useGetUsernamesQuery(
baseOptions: Apollo.QueryHookOptions<
GetUsernamesQuery,
GetUsernamesQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<GetUsernamesQuery, GetUsernamesQueryVariables>(
GetUsernamesDocument,
options,
);
}
export function useGetUsernamesLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetUsernamesQuery,
GetUsernamesQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<GetUsernamesQuery, GetUsernamesQueryVariables>(
GetUsernamesDocument,
options,
);
}
export function useGetUsernamesSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetUsernamesQuery,
GetUsernamesQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<GetUsernamesQuery, GetUsernamesQueryVariables>(
GetUsernamesDocument,
options,
);
}
export type GetUsernamesQueryHookResult = ReturnType<
typeof useGetUsernamesQuery
>;
export type GetUsernamesLazyQueryHookResult = ReturnType<
typeof useGetUsernamesLazyQuery
>;
export type GetUsernamesSuspenseQueryHookResult = ReturnType<
typeof useGetUsernamesSuspenseQuery
>;
export type GetUsernamesQueryResult = Apollo.QueryResult<
GetUsernamesQuery,
GetUsernamesQueryVariables
>;
export const GetStreamMonitoringDetailsDocument = gql`
query GetStreamMonitoringDetails($videoId: Int!) {
getVideo(videoId: $videoId) {

View File

@ -36,3 +36,10 @@ query GetShots(
}
}
}
query GetShotAnnotationTypes {
getShotAnnotationTypes {
id
name
}
}

View File

@ -24,6 +24,7 @@ query getLoggedInUser {
id
firebaseUid
username
isAdmin
profileImageUri
activeVideoId
createdAt
@ -36,3 +37,11 @@ query GetUserPlayTime($userId: Int!) {
totalSeconds
}
}
query getUsernames(
$matchString: String!
$limit: Int = null
$after: String = null
) {
getUsernames(matchString: $matchString, limit: $limit, after: $after)
}

View File

@ -12,6 +12,11 @@ type Query {
getShotAnnotationTypes: [ShotAnnotationTypeGQL!]!
getUser(userId: Int!): UserGQL
getLoggedInUser: UserGQL
getUsernames(
matchString: String = null
limit: Int = null
after: String = null
): [String!]!
getPlayTime(userId: Int!): UserPlayTimeGQL!
getUserVideos(
userId: Int = null
@ -66,6 +71,7 @@ input EnumAggregation {
input FilterInput @oneOf {
andFilters: [FilterInput!]
orFilters: [FilterInput!]
notFilter: FilterInput
cueObjectDistance: RangeFilter
targetPocketDistance: RangeFilter
cueObjectAngle: RangeFilter
@ -83,6 +89,11 @@ input FilterInput @oneOf {
isLeft: [Boolean!]
isLeftMiss: [Boolean!]
isRightMiss: [Boolean!]
isDirect: [Boolean!]
bankAngle: RangeFilter
bankDistance: RangeFilter
kickAngle: RangeFilter
kickDistance: RangeFilter
}
input RangeFilter {
@ -149,6 +160,7 @@ type ShotGQL {
bankFeatures: BankFeaturesGQL
serializedShotPaths: SerializedShotPathsGQL
user: UserGQL
annotations: [ShotAnnotationGQL!]!
}
"""
@ -189,12 +201,22 @@ type UserGQL {
id: Int!
firebaseUid: String!
username: String!
isAdmin: Boolean!
activeVideoId: Int
profileImageUri: String
createdAt: DateTime
updatedAt: DateTime
}
type ShotAnnotationGQL {
shotId: Int!
type: ShotAnnotationTypeGQL!
creator: UserGQL!
notes: String!
createdAt: DateTime
updatedAt: DateTime
}
type ShotAnnotationTypeGQL {
id: Int!
name: String!
@ -342,6 +364,8 @@ type Mutation {
videoMetadata: VideoMetadataInput!
): CreateUploadStreamReturn!
getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn!
getHlsInitUploadLink(videoId: Int!): GetUploadLinkReturn!
setSegmentDuration(videoId: Int!, segmentId: Int!, duration: Float!): Boolean!
editUploadStream(videoId: Int!, videoMetadata: VideoMetadataInput!): Boolean!
deleteVideo(videoId: Int!): Boolean!
}
@ -374,6 +398,7 @@ input VideoMetadataInput {
tableSize: String = null
uploadStreamMetadataInput: UploadStreamMetadataInput = null
lastIntendedSegmentBound: Int = null
streamSegmentType: StreamSegmentTypeEnum = null
endStream: Boolean! = false
}
@ -394,3 +419,8 @@ enum DeviceTypeEnum {
ANDROID
BROWSER
}
enum StreamSegmentTypeEnum {
FRAGMENTED_MP4
RB_CHUNKED_MP4
}