Compare commits
	
		
			10 Commits
		
	
	
		
			update-agg
			...
			828140ed2b
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 828140ed2b | |||
| 9a2cae0c70 | |||
| ce8cfd6a68 | |||
|  | 234d4d0fa9 | ||
|  | 4d05d9a539 | ||
|  | 3f16310f67 | ||
| 204e289627 | |||
| fd731b2ecf | |||
| e733e413ef | |||
| 90fc81776f | 
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| node_modules | ||||
| dist | ||||
| .direnv | ||||
							
								
								
									
										6
									
								
								bin/assert-no-changes-wrapper.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								bin/assert-no-changes-wrapper.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| #!/usr/bin/env bash | ||||
| GQL_DIR=$(dirname $(dirname "$(realpath "$BASH_SOURCE")")) | ||||
|  | ||||
| cd $GQL_DIR | ||||
|  | ||||
| nix develop --impure --command bash "$GQL_DIR/bin/assert-no-changes.sh" | ||||
							
								
								
									
										10
									
								
								bin/assert-no-changes.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								bin/assert-no-changes.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| #!/usr/bin/env bash | ||||
| git ls-files | xargs md5sum > before.txt | ||||
|  | ||||
| yarn install | ||||
| yarn graphql-codegen | ||||
|  | ||||
| git ls-files | xargs md5sum > after.txt | ||||
|  | ||||
|  | ||||
| diff before.txt after.txt | ||||
| @@ -115,9 +115,7 @@ export type FilterInput = { | ||||
|  | ||||
| export type GetUploadLinkReturn = { | ||||
|   __typename?: 'GetUploadLinkReturn'; | ||||
|   linksRequested: Scalars['Int']['output']; | ||||
|   uploadUrl: Scalars['String']['output']; | ||||
|   uploadsCompleted: Scalars['Int']['output']; | ||||
| }; | ||||
|  | ||||
| export type IntendedPocketTypeInput = { | ||||
| @@ -129,7 +127,6 @@ export type Mutation = { | ||||
|   createBucketSet: BucketSetGql; | ||||
|   createUploadStream: CreateUploadStreamReturn; | ||||
|   getUploadLink: GetUploadLinkReturn; | ||||
|   processVideoSource: ProcessVideoSourceReturn; | ||||
|   terminateUploadStream: Scalars['Boolean']['output']; | ||||
| }; | ||||
|  | ||||
| @@ -146,24 +143,28 @@ export type MutationCreateUploadStreamArgs = { | ||||
|  | ||||
|  | ||||
| export type MutationGetUploadLinkArgs = { | ||||
|   chunkIndex: Scalars['Int']['input']; | ||||
|   segmentIndex: Scalars['Int']['input']; | ||||
|   videoId: Scalars['Int']['input']; | ||||
| }; | ||||
|  | ||||
|  | ||||
| export type MutationProcessVideoSourceArgs = { | ||||
|   input: ProcessVideoSourceInput; | ||||
| }; | ||||
|  | ||||
|  | ||||
| export type MutationTerminateUploadStreamArgs = { | ||||
|   gameType?: InputMaybe<Scalars['String']['input']>; | ||||
|   tableSize?: InputMaybe<Scalars['String']['input']>; | ||||
|   videoId: Scalars['Int']['input']; | ||||
|   videoName?: InputMaybe<Scalars['String']['input']>; | ||||
| }; | ||||
|  | ||||
| export type OrFilter = { | ||||
|   filters: Array<FilterInput>; | ||||
| }; | ||||
|  | ||||
| export type PageInfoGql = { | ||||
|   __typename?: 'PageInfoGQL'; | ||||
|   endCursor?: Maybe<Scalars['String']['output']>; | ||||
|   hasNextPage: Scalars['Boolean']['output']; | ||||
| }; | ||||
|  | ||||
| export enum PocketEnum { | ||||
|   Corner = 'CORNER', | ||||
|   Side = 'SIDE' | ||||
| @@ -176,22 +177,15 @@ export type PocketingIntentionFeaturesGql = { | ||||
|   targetPocketDistance?: Maybe<Scalars['Float']['output']>; | ||||
| }; | ||||
|  | ||||
| export type ProcessVideoSourceInput = { | ||||
|   val: Scalars['Int']['input']; | ||||
| }; | ||||
|  | ||||
| export type ProcessVideoSourceReturn = { | ||||
|   __typename?: 'ProcessVideoSourceReturn'; | ||||
|   val: Scalars['Int']['output']; | ||||
| }; | ||||
|  | ||||
| export type Query = { | ||||
|   __typename?: 'Query'; | ||||
|   getAggregateShots: Array<AggregateResultGql>; | ||||
|   getBucketSet?: Maybe<BucketSetGql>; | ||||
|   getLoggedInUser?: Maybe<UserGql>; | ||||
|   getShots: Array<ShotGql>; | ||||
|   getUser?: Maybe<UserGql>; | ||||
|   getVideo: VideoGql; | ||||
|   getVideoFeedForUser: VideoFeedGql; | ||||
| }; | ||||
|  | ||||
|  | ||||
| @@ -219,6 +213,12 @@ export type QueryGetVideoArgs = { | ||||
|   videoId: Scalars['Int']['input']; | ||||
| }; | ||||
|  | ||||
|  | ||||
| export type QueryGetVideoFeedForUserArgs = { | ||||
|   after?: InputMaybe<Scalars['String']['input']>; | ||||
|   first?: Scalars['Int']['input']; | ||||
| }; | ||||
|  | ||||
| export type RangeFilter = { | ||||
|   greaterThanEqualTo?: InputMaybe<Scalars['Float']['input']>; | ||||
|   lessThan?: InputMaybe<Scalars['Float']['input']>; | ||||
| @@ -315,6 +315,7 @@ export type UploadStreamMetadata = { | ||||
| export type UserGql = { | ||||
|   __typename?: 'UserGQL'; | ||||
|   createdAt?: Maybe<Scalars['DateTime']['output']>; | ||||
|   firebaseUid: Scalars['String']['output']; | ||||
|   id: Scalars['Int']['output']; | ||||
|   statistics: UserStatisticsGql; | ||||
|   updatedAt?: Maybe<Scalars['DateTime']['output']>; | ||||
| @@ -331,16 +332,23 @@ export type UserStatisticsGql = { | ||||
|   totalShotsMade: Scalars['Int']['output']; | ||||
| }; | ||||
|  | ||||
| export type VideoFeedGql = { | ||||
|   __typename?: 'VideoFeedGQL'; | ||||
|   pageInfo: PageInfoGql; | ||||
|   videos: Array<VideoGql>; | ||||
| }; | ||||
|  | ||||
| export type VideoGql = { | ||||
|   __typename?: 'VideoGQL'; | ||||
|   averageTimeBetweenShots?: Maybe<Scalars['Decimal']['output']>; | ||||
|   averageTimeBetweenShots?: Maybe<Scalars['Float']['output']>; | ||||
|   createdAt: Scalars['DateTime']['output']; | ||||
|   elapsedTime: Scalars['Decimal']['output']; | ||||
|   elapsedTime: Scalars['Float']['output']; | ||||
|   endTime: Scalars['DateTime']['output']; | ||||
|   framesPerSecond: Scalars['Int']['output']; | ||||
|   id: Scalars['Int']['output']; | ||||
|   makePercentage: Scalars['Decimal']['output']; | ||||
|   medianRun: Scalars['Decimal']['output']; | ||||
|   makePercentage: Scalars['Float']['output']; | ||||
|   medianRun?: Maybe<Scalars['Float']['output']>; | ||||
|   name: Scalars['String']['output']; | ||||
|   shots: Array<ShotGql>; | ||||
|   startTime: Scalars['DateTime']['output']; | ||||
|   stream?: Maybe<UploadStreamGql>; | ||||
| @@ -394,14 +402,17 @@ export type CreateUploadStreamMutation = { __typename?: 'Mutation', createUpload | ||||
|  | ||||
| export type GetUploadLinkMutationVariables = Exact<{ | ||||
|   videoId: Scalars['Int']['input']; | ||||
|   chunkIndex: Scalars['Int']['input']; | ||||
|   segmentIndex: Scalars['Int']['input']; | ||||
| }>; | ||||
|  | ||||
|  | ||||
| export type GetUploadLinkMutation = { __typename?: 'Mutation', getUploadLink: { __typename?: 'GetUploadLinkReturn', uploadUrl: string, linksRequested: number } }; | ||||
| export type GetUploadLinkMutation = { __typename?: 'Mutation', getUploadLink: { __typename?: 'GetUploadLinkReturn', uploadUrl: string } }; | ||||
|  | ||||
| export type TerminateUploadStreamMutationVariables = Exact<{ | ||||
|   videoId: Scalars['Int']['input']; | ||||
|   videoName?: InputMaybe<Scalars['String']['input']>; | ||||
|   gameType?: InputMaybe<Scalars['String']['input']>; | ||||
|   tableSize?: InputMaybe<Scalars['String']['input']>; | ||||
| }>; | ||||
|  | ||||
|  | ||||
| @@ -569,10 +580,9 @@ export type CreateUploadStreamMutationHookResult = ReturnType<typeof useCreateUp | ||||
| export type CreateUploadStreamMutationResult = Apollo.MutationResult<CreateUploadStreamMutation>; | ||||
| export type CreateUploadStreamMutationOptions = Apollo.BaseMutationOptions<CreateUploadStreamMutation, CreateUploadStreamMutationVariables>; | ||||
| export const GetUploadLinkDocument = gql` | ||||
|     mutation GetUploadLink($videoId: Int!, $chunkIndex: Int!) { | ||||
|   getUploadLink(videoId: $videoId, chunkIndex: $chunkIndex) { | ||||
|     mutation GetUploadLink($videoId: Int!, $segmentIndex: Int!) { | ||||
|   getUploadLink(videoId: $videoId, segmentIndex: $segmentIndex) { | ||||
|     uploadUrl | ||||
|     linksRequested | ||||
|   } | ||||
| } | ||||
|     `; | ||||
| @@ -592,7 +602,7 @@ export type GetUploadLinkMutationFn = Apollo.MutationFunction<GetUploadLinkMutat | ||||
|  * const [getUploadLinkMutation, { data, loading, error }] = useGetUploadLinkMutation({ | ||||
|  *   variables: { | ||||
|  *      videoId: // value for 'videoId' | ||||
|  *      chunkIndex: // value for 'chunkIndex' | ||||
|  *      segmentIndex: // value for 'segmentIndex' | ||||
|  *   }, | ||||
|  * }); | ||||
|  */ | ||||
| @@ -604,8 +614,13 @@ export type GetUploadLinkMutationHookResult = ReturnType<typeof useGetUploadLink | ||||
| export type GetUploadLinkMutationResult = Apollo.MutationResult<GetUploadLinkMutation>; | ||||
| export type GetUploadLinkMutationOptions = Apollo.BaseMutationOptions<GetUploadLinkMutation, GetUploadLinkMutationVariables>; | ||||
| export const TerminateUploadStreamDocument = gql` | ||||
|     mutation TerminateUploadStream($videoId: Int!) { | ||||
|   terminateUploadStream(videoId: $videoId) | ||||
|     mutation TerminateUploadStream($videoId: Int!, $videoName: String, $gameType: String, $tableSize: String) { | ||||
|   terminateUploadStream( | ||||
|     videoId: $videoId | ||||
|     videoName: $videoName | ||||
|     gameType: $gameType | ||||
|     tableSize: $tableSize | ||||
|   ) | ||||
| } | ||||
|     `; | ||||
| export type TerminateUploadStreamMutationFn = Apollo.MutationFunction<TerminateUploadStreamMutation, TerminateUploadStreamMutationVariables>; | ||||
| @@ -624,6 +639,9 @@ export type TerminateUploadStreamMutationFn = Apollo.MutationFunction<TerminateU | ||||
|  * const [terminateUploadStreamMutation, { data, loading, error }] = useTerminateUploadStreamMutation({ | ||||
|  *   variables: { | ||||
|  *      videoId: // value for 'videoId' | ||||
|  *      videoName: // value for 'videoName' | ||||
|  *      gameType: // value for 'gameType' | ||||
|  *      tableSize: // value for 'tableSize' | ||||
|  *   }, | ||||
|  * }); | ||||
|  */ | ||||
|   | ||||
| @@ -1,13 +1,13 @@ | ||||
| mutation CreateUploadStream( | ||||
|   $videoName: String!, | ||||
|   $deviceType: DeviceTypeEnum, | ||||
|   $osVersion: String, | ||||
|   $appVersion: String, | ||||
|   $browserName: String, | ||||
|   $browserVersion: String, | ||||
|   $locale: String, | ||||
|   $timezone: String, | ||||
|   $networkType: String, | ||||
|   $videoName: String! | ||||
|   $deviceType: DeviceTypeEnum | ||||
|   $osVersion: String | ||||
|   $appVersion: String | ||||
|   $browserName: String | ||||
|   $browserVersion: String | ||||
|   $locale: String | ||||
|   $timezone: String | ||||
|   $networkType: String | ||||
|   $ipAddress: String | ||||
| ) { | ||||
|   createUploadStream( | ||||
| @@ -28,13 +28,22 @@ mutation CreateUploadStream( | ||||
|   } | ||||
| } | ||||
|  | ||||
| mutation GetUploadLink($videoId: Int!, $chunkIndex: Int!) { | ||||
|   getUploadLink(videoId: $videoId, chunkIndex: $chunkIndex) { | ||||
| mutation GetUploadLink($videoId: Int!, $segmentIndex: Int!) { | ||||
|   getUploadLink(videoId: $videoId, segmentIndex: $segmentIndex) { | ||||
|     uploadUrl | ||||
|     linksRequested | ||||
|   } | ||||
| } | ||||
|  | ||||
| mutation TerminateUploadStream($videoId: Int!) { | ||||
|   terminateUploadStream(videoId: $videoId)  | ||||
| mutation TerminateUploadStream( | ||||
|   $videoId: Int! | ||||
|   $videoName: String | ||||
|   $gameType: String | ||||
|   $tableSize: String | ||||
| ) { | ||||
|   terminateUploadStream( | ||||
|     videoId: $videoId | ||||
|     videoName: $videoName | ||||
|     gameType: $gameType | ||||
|     tableSize: $tableSize | ||||
|   ) | ||||
| } | ||||
|   | ||||
| @@ -1,9 +1,11 @@ | ||||
| type Query { | ||||
|   getAggregateShots(bucketSets: [BucketSetInputGQL!]!): [AggregateResultGQL!]! | ||||
|   getUser(userId: Int!): UserGQL | ||||
|   getLoggedInUser: UserGQL | ||||
|   getVideo(videoId: Int!): VideoGQL! | ||||
|   getShots(filterInput: FilterInput = null): [ShotGQL!]! | ||||
|   getBucketSet(keyName: String!): BucketSetGQL | ||||
|   getVideoFeedForUser(first: Int! = 5, after: String = null): VideoFeedGQL! | ||||
| } | ||||
|  | ||||
| type AggregateResultGQL { | ||||
| @@ -40,6 +42,7 @@ input BucketInputGQL { | ||||
|  | ||||
| type UserGQL { | ||||
|   id: Int! | ||||
|   firebaseUid: String! | ||||
|   username: String! | ||||
|   createdAt: DateTime | ||||
|   updatedAt: DateTime | ||||
| @@ -63,17 +66,18 @@ scalar Decimal | ||||
|  | ||||
| type VideoGQL { | ||||
|   id: Int! | ||||
|   name: String! | ||||
|   totalShotsMade: Int! | ||||
|   totalShots: Int! | ||||
|   makePercentage: Decimal! | ||||
|   medianRun: Decimal! | ||||
|   averageTimeBetweenShots: Decimal | ||||
|   makePercentage: Float! | ||||
|   medianRun: Float | ||||
|   averageTimeBetweenShots: Float | ||||
|   createdAt: DateTime! | ||||
|   updatedAt: DateTime! | ||||
|   shots: [ShotGQL!]! | ||||
|   startTime: DateTime! | ||||
|   endTime: DateTime! | ||||
|   elapsedTime: Decimal! | ||||
|   elapsedTime: Float! | ||||
|   framesPerSecond: Int! | ||||
|   totalFrames: Int! | ||||
|   stream: UploadStreamGQL | ||||
| @@ -222,12 +226,21 @@ type BucketSetGQL { | ||||
|   buckets: [BucketGQL!]! | ||||
| } | ||||
|  | ||||
| type VideoFeedGQL { | ||||
|   videos: [VideoGQL!]! | ||||
|   pageInfo: PageInfoGQL! | ||||
| } | ||||
|  | ||||
| type PageInfoGQL { | ||||
|   hasNextPage: Boolean! | ||||
|   endCursor: String | ||||
| } | ||||
|  | ||||
| type Mutation { | ||||
|   createBucketSet(params: CreateBucketSetInput!): BucketSetGQL! | ||||
|   processVideoSource(input: ProcessVideoSourceInput!): ProcessVideoSourceReturn! | ||||
|   createUploadStream(uploadMetadata: UploadMetadataInput, videoName: String = null): CreateUploadStreamReturn! | ||||
|   getUploadLink(videoId: Int!, chunkIndex: Int!): GetUploadLinkReturn! | ||||
|   terminateUploadStream(videoId: Int!): Boolean! | ||||
|   getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn! | ||||
|   terminateUploadStream(videoId: Int!, videoName: String = null, gameType: String = null, tableSize: String = null): Boolean! | ||||
| } | ||||
|  | ||||
| input CreateBucketSetInput { | ||||
| @@ -236,14 +249,6 @@ input CreateBucketSetInput { | ||||
|   buckets: [BucketInputGQL!]! | ||||
| } | ||||
|  | ||||
| type ProcessVideoSourceReturn { | ||||
|   val: Int! | ||||
| } | ||||
|  | ||||
| input ProcessVideoSourceInput { | ||||
|   val: Int! | ||||
| } | ||||
|  | ||||
| type CreateUploadStreamReturn { | ||||
|   videoId: Int! | ||||
| } | ||||
| @@ -262,6 +267,4 @@ input UploadMetadataInput { | ||||
|  | ||||
| type GetUploadLinkReturn { | ||||
|   uploadUrl: String! | ||||
|   linksRequested: Int! | ||||
|   uploadsCompleted: Int! | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user