diff --git a/src/index.tsx b/src/index.tsx index f25ce22..c72b96e 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -132,17 +132,23 @@ export type FilterInput = | { andFilters: Array; 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; + 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; + 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; + 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; 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; 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; 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; 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; + 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; + 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; 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; 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; @@ -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; }; @@ -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; @@ -662,6 +950,7 @@ export type Query = { getShots: Array; getUser?: Maybe; getUserVideos: VideoHistoryGql; + getUsernames: Array; getVideo: VideoGql; getVideoMakePercentageIntervals: Array; getVideos: Array; @@ -694,6 +983,12 @@ export type QueryGetUserVideosArgs = { userId?: InputMaybe; }; +export type QueryGetUsernamesArgs = { + after?: InputMaybe; + limit?: InputMaybe; + matchString?: InputMaybe; +}; + export type QueryGetVideoArgs = { videoId: Scalars["Int"]["input"]; }; @@ -717,6 +1012,16 @@ export type SerializedShotPathsGql = { b64EncodedBuffer?: Maybe; }; +export type ShotAnnotationGql = { + __typename?: "ShotAnnotationGQL"; + createdAt?: Maybe; + creator: UserGql; + notes: Scalars["String"]["output"]; + shotId: Scalars["Int"]["output"]; + type: ShotAnnotationTypeGql; + updatedAt?: Maybe; +}; + export type ShotAnnotationInput = { name: Scalars["String"]["input"]; }; @@ -735,6 +1040,7 @@ export enum ShotDirectionEnum { export type ShotGql = { __typename?: "ShotGQL"; + annotations: Array; bankFeatures?: Maybe; createdAt?: Maybe; cueObjectFeatures?: Maybe; @@ -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; @@ -806,6 +1117,7 @@ export type UserGql = { createdAt?: Maybe; firebaseUid: Scalars["String"]["output"]; id: Scalars["Int"]["output"]; + isAdmin: Scalars["Boolean"]["output"]; profileImageUri?: Maybe; updatedAt?: Maybe; username: Scalars["String"]["output"]; @@ -858,6 +1170,7 @@ export type VideoMetadataInput = { gameType?: InputMaybe; lastIntendedSegmentBound?: InputMaybe; startTime?: InputMaybe; + streamSegmentType?: InputMaybe; tableSize?: InputMaybe; uploadStreamMetadataInput?: InputMaybe; videoName?: InputMaybe; @@ -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; }>; @@ -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; + after?: InputMaybe; +}>; + +export type GetUsernamesQuery = { + __typename?: "Query"; + getUsernames: Array; +}; + 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( + GetUsernamesDocument, + options, + ); +} +export function useGetUsernamesLazyQuery( + baseOptions?: Apollo.LazyQueryHookOptions< + GetUsernamesQuery, + GetUsernamesQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useLazyQuery( + GetUsernamesDocument, + options, + ); +} +export function useGetUsernamesSuspenseQuery( + baseOptions?: Apollo.SuspenseQueryHookOptions< + GetUsernamesQuery, + GetUsernamesQueryVariables + >, +) { + const options = { ...defaultOptions, ...baseOptions }; + return Apollo.useSuspenseQuery( + 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) { diff --git a/src/operations/shots.gql b/src/operations/shots.gql index 1a842b6..f52f0aa 100644 --- a/src/operations/shots.gql +++ b/src/operations/shots.gql @@ -36,3 +36,10 @@ query GetShots( } } } + +query GetShotAnnotationTypes { + getShotAnnotationTypes { + id + name + } +} diff --git a/src/operations/user.gql b/src/operations/user.gql index 3cf6306..841767f 100644 --- a/src/operations/user.gql +++ b/src/operations/user.gql @@ -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) +} diff --git a/src/schema.gql b/src/schema.gql index fda8b31..2512dcc 100644 --- a/src/schema.gql +++ b/src/schema.gql @@ -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 +}