Compare commits
	
		
			79 Commits
		
	
	
		
			9db95c4e6c
			...
			mk/extend-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| fd87ade629 | |||
| 1fab007654 | |||
| cd2cdb475a | |||
| c3c74379fb | |||
| da21627f15 | |||
| 8fabfd67cf | |||
| e6960038f2 | |||
| b6ec7ed39d | |||
| 545ba638c2 | |||
| 94e4e55558 | |||
| 2536f5db6b | |||
| ffd0814a98 | |||
| 55bfe42484 | |||
| dabb0d1d9c | |||
| a538c1d81c | |||
| 872bce3adb | |||
| 457d375bed | |||
| 12798e368c | |||
| a3d6e6e19e | |||
| f7a6e393e7 | |||
| ee11e506ed | |||
| 90ec47848b | |||
| 21acb5219d | |||
| 087d511efc | |||
| 7cc0dca821 | |||
| f826121aa3 | |||
| 2aadb8b49b | |||
| 5468b7ccda | |||
| 08dfafe1a3 | |||
| 36b6804719 | |||
| 0120c15064 | |||
| 9cc99d956a | |||
| 985fa8b8e5 | |||
| c4868e7ebe | |||
| 58e1c18034 | |||
| 592dea0ca2 | |||
| 0e00ae9297 | |||
| e16812f242 | |||
| 3e9b7a0d16 | |||
| 309deb9473 | |||
| d5ba9c2ba5 | |||
| 73771a263a | |||
| 655e59c43c | |||
| 056120a68a | |||
| bd7ffa7fdb | |||
| ec58923c65 | |||
| 63869cd7ca | |||
| 08ae9611cf | |||
| 4e610b7df2 | |||
| 2d6d3964ad | |||
| 73a58de36e | |||
| dc6f246489 | |||
| c0a3aa97dc | |||
| f4e43b24f2 | |||
| 51ab8320d7 | |||
| f9a00ad3eb | |||
| 998b2ffc8c | |||
| c7642e6204 | |||
| b2ce1c2f96 | |||
| d0cf071934 | |||
| 6b410b3d78 | |||
| 607504261c | |||
| 0421be855d | |||
| 014aab473b | |||
| 353872401e | |||
| 433dfdaf74 | |||
| a2d9e688e9 | |||
| b3259dac1f | |||
| 0982b9e60c | |||
| 1710ae451c | |||
| de9e7dea6a | |||
| cfcf1dbcd2 | |||
| 05e3182e8b | |||
| baf139aab5 | |||
| b3b454ef83 | |||
| f6e4a1bc0b | |||
| 9d8155527d | |||
| 8690e81029 | |||
| 4ef13a482a | 
							
								
								
									
										1288
									
								
								src/index.tsx
									
									
									
									
									
								
							
							
						
						
									
										1288
									
								
								src/index.tsx
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,3 +1,4 @@ | |||||||
|  | # DO NOT USE: use getVideoFeed instead | ||||||
| query GetFeed( | query GetFeed( | ||||||
|   $limit: Int! = 5 |   $limit: Int! = 5 | ||||||
|   $after: String = null |   $after: String = null | ||||||
| @@ -5,32 +6,71 @@ query GetFeed( | |||||||
| ) { | ) { | ||||||
|   getUserVideos(limit: $limit, after: $after, filters: $filters) { |   getUserVideos(limit: $limit, after: $after, filters: $filters) { | ||||||
|     videos { |     videos { | ||||||
|       id |       ...VideoCardFields | ||||||
|       owner { |     } | ||||||
|         username |     pageInfo { | ||||||
|       } |       hasNextPage | ||||||
|       name |       endCursor | ||||||
|       screenshotUri |     } | ||||||
|       totalShotsMade |   } | ||||||
|       totalShots | } | ||||||
|       makePercentage |  | ||||||
|       createdAt | fragment VideoCardFields on VideoGQL { | ||||||
|       updatedAt |   id | ||||||
|       startTime |   owner { | ||||||
|       endTime |     id | ||||||
|       elapsedTime |     username | ||||||
|       screenshotUri |     profileImageUri | ||||||
|       stream { |   } | ||||||
|         id |   name | ||||||
|         isCompleted |   screenshotUri | ||||||
|       } |   totalShotsMade | ||||||
|       tableSize |   totalShots | ||||||
|       tags { |   makePercentage | ||||||
|         tagClasses { |   createdAt | ||||||
|           name |   updatedAt | ||||||
|         } |   startTime | ||||||
|         name |   endTime | ||||||
|       } |   private | ||||||
|  |   elapsedTime | ||||||
|  |   screenshotUri | ||||||
|  |   stream { | ||||||
|  |     id | ||||||
|  |     isCompleted | ||||||
|  |   } | ||||||
|  |   tableSize | ||||||
|  |   tags { | ||||||
|  |     tagClasses { | ||||||
|  |       name | ||||||
|  |     } | ||||||
|  |     name | ||||||
|  |   } | ||||||
|  |   currentProcessing { | ||||||
|  |     id | ||||||
|  |     errors { | ||||||
|  |       message | ||||||
|  |     } | ||||||
|  |     status | ||||||
|  |     statuses { | ||||||
|  |       status | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | query GetVideoFeed( | ||||||
|  |   $limit: Int! = 5 | ||||||
|  |   $after: String = null | ||||||
|  |   $filters: VideoFilterInput = null | ||||||
|  |   $includeCallersVideos: Boolean = null | ||||||
|  | ) { | ||||||
|  |   getFeedVideos( | ||||||
|  |     limit: $limit | ||||||
|  |     after: $after | ||||||
|  |     filters: $filters | ||||||
|  |     includeCallersVideos: $includeCallersVideos | ||||||
|  |   ) { | ||||||
|  |     videos { | ||||||
|  |       ...VideoCardFields | ||||||
|     } |     } | ||||||
|     pageInfo { |     pageInfo { | ||||||
|       hasNextPage |       hasNextPage | ||||||
|   | |||||||
							
								
								
									
										84
									
								
								src/operations/medals.gql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								src/operations/medals.gql
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,84 @@ | |||||||
|  | query getMedals($scope: MedalScope!, $userId: Int) { | ||||||
|  |   getMedals(scope: $scope, userId: $userId) { | ||||||
|  |     distanceOver66 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     distanceOver78 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     distanceOver90 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     runLength3 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     runLength5 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     runLength8 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     runLength10 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     runLength15 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     runLength20 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     runLength25 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     runLength30 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     runLength40 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     runLength50 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     totalMakes25 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     totalMakes50 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     totalMakes75 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     totalMakes100 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     totalMakes200 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     totalMakes300 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |     totalMakes400 { | ||||||
|  |       count | ||||||
|  |       nickname | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
| @@ -40,6 +40,7 @@ mutation UpdateShotAnnotations( | |||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | ## Should be deprecated | ||||||
| query GetShotsWithVideoGql( | query GetShotsWithVideoGql( | ||||||
|   $filterInput: FilterInput! |   $filterInput: FilterInput! | ||||||
|   $shotsOrdering: GetShotsOrdering |   $shotsOrdering: GetShotsOrdering | ||||||
| @@ -61,18 +62,40 @@ query GetShotsWithVideoGql( | |||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | query GetShotsWithJustIds( | ||||||
|  |   $filterInput: FilterInput! | ||||||
|  |   $shotsOrdering: GetShotsOrdering | ||||||
|  |   $limit: Int | ||||||
|  |   $countRespectsLimit: Boolean | ||||||
|  | ) { | ||||||
|  |   getOrderedShots( | ||||||
|  |     filterInput: $filterInput | ||||||
|  |     shotsOrdering: $shotsOrdering | ||||||
|  |     limit: $limit | ||||||
|  |     countRespectsLimit: $countRespectsLimit | ||||||
|  |   ) { | ||||||
|  |     count | ||||||
|  |     shots { | ||||||
|  |       id | ||||||
|  |       videoId | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
| ## Reserved for playlists (which are created from a filter) | ## Reserved for playlists (which are created from a filter) | ||||||
| query GetShotsWithMetadataFilterResult( | query GetShotsWithMetadataFilterResult( | ||||||
|   $filterInput: FilterInput! |   $filterInput: FilterInput! | ||||||
|   $shotsOrdering: GetShotsOrdering |   $shotsOrdering: GetShotsOrdering | ||||||
|   $limit: Int |   $limit: Int | ||||||
|   $ids: [Int!] |   $ids: [Int!] | ||||||
|  |   $countRespectsLimit: Boolean | ||||||
| ) { | ) { | ||||||
|   getOrderedShots( |   getOrderedShots( | ||||||
|     filterInput: $filterInput |     filterInput: $filterInput | ||||||
|     shotsOrdering: $shotsOrdering |     shotsOrdering: $shotsOrdering | ||||||
|     limit: $limit |     limit: $limit | ||||||
|     ids: $ids |     ids: $ids | ||||||
|  |     countRespectsLimit: $countRespectsLimit | ||||||
|   ) { |   ) { | ||||||
|     count |     count | ||||||
|     shots { |     shots { | ||||||
| @@ -136,6 +159,7 @@ fragment ShotWithAllFeatures on ShotGQL { | |||||||
|     targetPocketAngleDirection |     targetPocketAngleDirection | ||||||
|     marginOfErrorInDegrees |     marginOfErrorInDegrees | ||||||
|     intendedPocketType |     intendedPocketType | ||||||
|  |     difficulty | ||||||
|   } |   } | ||||||
|   pocketingIntentionInfo { |   pocketingIntentionInfo { | ||||||
|     ballId |     ballId | ||||||
|   | |||||||
| @@ -41,11 +41,12 @@ query getLoggedInUser { | |||||||
|     activeVideoId |     activeVideoId | ||||||
|     createdAt |     createdAt | ||||||
|     updatedAt |     updatedAt | ||||||
|  |     videosPrivateByDefault | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| query GetUserPlayTime($userId: Int!) { | query GetUserPlayTime($userId: Int!, $filters: VideoFilterInput) { | ||||||
|   getPlayTime(userId: $userId) { |   getPlayTime(userId: $userId, filters: $filters) { | ||||||
|     totalSeconds |     totalSeconds | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @@ -91,11 +92,14 @@ query GetUserTags { | |||||||
| mutation followUser($followedUserId: Int!) { | mutation followUser($followedUserId: Int!) { | ||||||
|   followUser(followedUserId: $followedUserId) { |   followUser(followedUserId: $followedUserId) { | ||||||
|     username |     username | ||||||
|  |     id | ||||||
|     following { |     following { | ||||||
|       id |       id | ||||||
|  |       username | ||||||
|     } |     } | ||||||
|     followers { |     followers { | ||||||
|       id |       id | ||||||
|  |       username | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @@ -103,11 +107,14 @@ mutation followUser($followedUserId: Int!) { | |||||||
| mutation unfollowUser($followedUserId: Int!) { | mutation unfollowUser($followedUserId: Int!) { | ||||||
|   unfollowUser(followedUserId: $followedUserId) { |   unfollowUser(followedUserId: $followedUserId) { | ||||||
|     username |     username | ||||||
|  |     id | ||||||
|     following { |     following { | ||||||
|       id |       id | ||||||
|  |       username | ||||||
|     } |     } | ||||||
|     followers { |     followers { | ||||||
|       id |       id | ||||||
|  |       username | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @@ -125,3 +132,28 @@ query getUserFollowingFollowers { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | query doesUsernameExist($candidateUsername: String!) { | ||||||
|  |   doesUsernameExist(candidateUsername: $candidateUsername) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | mutation editUser( | ||||||
|  |   $username: String | ||||||
|  |   $fargoRating: Int | ||||||
|  |   $videosPrivateByDefault: Boolean | ||||||
|  | ) { | ||||||
|  |   editUser( | ||||||
|  |     input: { | ||||||
|  |       username: $username | ||||||
|  |       fargoRating: $fargoRating | ||||||
|  |       videosPrivateByDefault: $videosPrivateByDefault | ||||||
|  |     } | ||||||
|  |   ) { | ||||||
|  |     id | ||||||
|  |     firebaseUid | ||||||
|  |     username | ||||||
|  |     fargoRating | ||||||
|  |     updatedAt | ||||||
|  |     videosPrivateByDefault | ||||||
|  |   } | ||||||
|  | } | ||||||
|   | |||||||
| @@ -5,44 +5,7 @@ query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) { | |||||||
|     makePercentage |     makePercentage | ||||||
|     elapsedTime |     elapsedTime | ||||||
|     currentHomography { |     currentHomography { | ||||||
|       crop { |       ...HomographyInfo | ||||||
|         left |  | ||||||
|         top |  | ||||||
|         width |  | ||||||
|         height |  | ||||||
|       } |  | ||||||
|       pockets { |  | ||||||
|         left |  | ||||||
|         top |  | ||||||
|         width |  | ||||||
|         height |  | ||||||
|       } |  | ||||||
|       sourcePoints { |  | ||||||
|         topLeft { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|         topSide { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|         topRight { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|         bottomLeft { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|         bottomSide { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|         bottomRight { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |     } | ||||||
|     stream { |     stream { | ||||||
|       id |       id | ||||||
| @@ -55,6 +18,7 @@ query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) { | |||||||
|       initPlaylistUploadStatus |       initPlaylistUploadStatus | ||||||
|     } |     } | ||||||
|     currentProcessing { |     currentProcessing { | ||||||
|  |       id | ||||||
|       errors { |       errors { | ||||||
|         message |         message | ||||||
|         startSegmentIndex |         startSegmentIndex | ||||||
| @@ -154,45 +118,7 @@ query GetVideo($videoId: Int!) { | |||||||
|       segmentDurations |       segmentDurations | ||||||
|     } |     } | ||||||
|     homographyHistory { |     homographyHistory { | ||||||
|       frameIndex |       ...HomographyInfo | ||||||
|       crop { |  | ||||||
|         left |  | ||||||
|         top |  | ||||||
|         width |  | ||||||
|         height |  | ||||||
|       } |  | ||||||
|       pockets { |  | ||||||
|         left |  | ||||||
|         top |  | ||||||
|         width |  | ||||||
|         height |  | ||||||
|       } |  | ||||||
|       sourcePoints { |  | ||||||
|         topLeft { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|         topSide { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|         topRight { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|         bottomLeft { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|         bottomSide { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|         bottomRight { |  | ||||||
|           x |  | ||||||
|           y |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |     } | ||||||
|     stream { |     stream { | ||||||
|       id |       id | ||||||
| @@ -288,3 +214,51 @@ query GetHeaderInfoByVideoId($videoId: Int!) { | |||||||
|     startTime |     startTime | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | mutation FindPrerecordTableLayout($b64Image: String!, $videoId: Int!) { | ||||||
|  |   findPrerecordTableLayout(b64Image: $b64Image, videoId: $videoId) { | ||||||
|  |     ...HomographyInfo | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | fragment HomographyInfo on HomographyInfoGQL { | ||||||
|  |   frameIndex | ||||||
|  |   crop { | ||||||
|  |     left | ||||||
|  |     top | ||||||
|  |     width | ||||||
|  |     height | ||||||
|  |   } | ||||||
|  |   pockets { | ||||||
|  |     left | ||||||
|  |     top | ||||||
|  |     width | ||||||
|  |     height | ||||||
|  |   } | ||||||
|  |   sourcePoints { | ||||||
|  |     topLeft { | ||||||
|  |       x | ||||||
|  |       y | ||||||
|  |     } | ||||||
|  |     topSide { | ||||||
|  |       x | ||||||
|  |       y | ||||||
|  |     } | ||||||
|  |     topRight { | ||||||
|  |       x | ||||||
|  |       y | ||||||
|  |     } | ||||||
|  |     bottomLeft { | ||||||
|  |       x | ||||||
|  |       y | ||||||
|  |     } | ||||||
|  |     bottomSide { | ||||||
|  |       x | ||||||
|  |       y | ||||||
|  |     } | ||||||
|  |     bottomRight { | ||||||
|  |       x | ||||||
|  |       y | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
|   | |||||||
							
								
								
									
										158
									
								
								src/schema.gql
									
									
									
									
									
								
							
							
						
						
									
										158
									
								
								src/schema.gql
									
									
									
									
									
								
							| @@ -9,26 +9,38 @@ type Query { | |||||||
|     videoId: ID! |     videoId: ID! | ||||||
|     intervalDuration: Int! = 300 |     intervalDuration: Int! = 300 | ||||||
|   ): [MakePercentageIntervalGQL!]! |   ): [MakePercentageIntervalGQL!]! | ||||||
|  |   getMedals(scope: MedalScope!, userId: Int = null): RequestedMedalsGQL! | ||||||
|  |   getRuns( | ||||||
|  |     filterInput: RunFilterInput! | ||||||
|  |     runIds: [Int!] = null | ||||||
|  |     runsOrdering: GetRunsOrdering = null | ||||||
|  |     limit: Int! = 500 | ||||||
|  |     countRespectsLimit: Boolean! = false | ||||||
|  |   ): GetRunsResult! | ||||||
|   getOrderedShots( |   getOrderedShots( | ||||||
|     filterInput: FilterInput! |     filterInput: FilterInput! | ||||||
|     ids: [Int!] = null |     ids: [Int!] = null | ||||||
|     shotsOrdering: GetShotsOrdering = null |     shotsOrdering: GetShotsOrdering = null | ||||||
|     limit: Int! = 500 |     limit: Int! = 500 | ||||||
|  |     countRespectsLimit: Boolean! = false | ||||||
|   ): GetShotsResult! |   ): GetShotsResult! | ||||||
|   getShotsWithMetadata( |   getShotsWithMetadata( | ||||||
|     filterInput: FilterInput! |     filterInput: FilterInput! | ||||||
|     ids: [Int!] = null |     ids: [Int!] = null | ||||||
|     shotsPagination: GetShotsPagination = null |     shotsPagination: GetShotsPagination = null | ||||||
|     limit: Int! = 500 |     limit: Int! = 500 | ||||||
|  |     countRespectsLimit: Boolean! = false | ||||||
|   ): GetShotsResult! |   ): GetShotsResult! | ||||||
|   getShots( |   getShots( | ||||||
|     filterInput: FilterInput! |     filterInput: FilterInput! | ||||||
|     shotsPagination: GetShotsPagination = null |     shotsPagination: GetShotsPagination = null | ||||||
|     limit: Int! = 500 |     limit: Int! = 500 | ||||||
|  |     countRespectsLimit: Boolean! = false | ||||||
|   ): [ShotGQL!]! |   ): [ShotGQL!]! | ||||||
|   getShotsByIds(ids: [Int!]!): [ShotGQL!]! |   getShotsByIds(ids: [Int!]!): [ShotGQL!]! | ||||||
|   getShotAnnotationTypes(errorTypes: Boolean = false): [ShotAnnotationTypeGQL!]! |   getShotAnnotationTypes(errorTypes: Boolean = false): [ShotAnnotationTypeGQL!]! | ||||||
|   getUser(userId: Int!): UserGQL |   getUser(userId: Int!): UserGQL | ||||||
|  |   doesUsernameExist(candidateUsername: String!): Boolean! | ||||||
|   getLoggedInUser: UserGQL |   getLoggedInUser: UserGQL | ||||||
|   getUsernames( |   getUsernames( | ||||||
|     matchString: String = null |     matchString: String = null | ||||||
| @@ -41,7 +53,7 @@ type Query { | |||||||
|     limit: Int = 100 |     limit: Int = 100 | ||||||
|     after: String = null |     after: String = null | ||||||
|   ): UserRelationshipsResult! |   ): UserRelationshipsResult! | ||||||
|   getPlayTime(userId: Int!): UserPlayTimeGQL! |   getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL! | ||||||
|   getUserVideos( |   getUserVideos( | ||||||
|     userId: Int = null |     userId: Int = null | ||||||
|     limit: Int! = 5 |     limit: Int! = 5 | ||||||
| @@ -54,6 +66,7 @@ type Query { | |||||||
|   getFeedVideos( |   getFeedVideos( | ||||||
|     limit: Int! = 5 |     limit: Int! = 5 | ||||||
|     after: String = null |     after: String = null | ||||||
|  |     includeCallersVideos: Boolean = true | ||||||
|     filters: VideoFilterInput = null |     filters: VideoFilterInput = null | ||||||
|   ): VideoHistoryGQL! |   ): VideoHistoryGQL! | ||||||
| } | } | ||||||
| @@ -266,10 +279,61 @@ type MakePercentageIntervalGQL { | |||||||
|   elapsedTime: Float! |   elapsedTime: Float! | ||||||
| } | } | ||||||
|  |  | ||||||
| type GetShotsResult { | type RequestedMedalsGQL { | ||||||
|   shots: [ShotGQL!]! |   distanceOver66: MedalGQL | ||||||
|  |   distanceOver78: MedalGQL | ||||||
|  |   distanceOver90: MedalGQL | ||||||
|  |   runLength3: MedalGQL | ||||||
|  |   runLength5: MedalGQL | ||||||
|  |   runLength8: MedalGQL | ||||||
|  |   runLength10: MedalGQL | ||||||
|  |   runLength15: MedalGQL | ||||||
|  |   runLength20: MedalGQL | ||||||
|  |   runLength25: MedalGQL | ||||||
|  |   runLength30: MedalGQL | ||||||
|  |   runLength40: MedalGQL | ||||||
|  |   runLength50: MedalGQL | ||||||
|  |   totalMakes25: MedalGQL @deprecated(reason: "no longer supported") | ||||||
|  |   totalMakes50: MedalGQL @deprecated(reason: "no longer supported") | ||||||
|  |   totalMakes75: MedalGQL @deprecated(reason: "no longer supported") | ||||||
|  |   totalMakes200: MedalGQL @deprecated(reason: "no longer supported") | ||||||
|  |   totalMakes300: MedalGQL @deprecated(reason: "no longer supported") | ||||||
|  |   totalMakes400: MedalGQL @deprecated(reason: "no longer supported") | ||||||
|  |   totalMakes750: MedalGQL @deprecated(reason: "no longer supported") | ||||||
|  |   totalMakes100: MedalGQL | ||||||
|  |   totalMakes500: MedalGQL | ||||||
|  |   totalMakes1000: MedalGQL | ||||||
|  |   totalMakes5000: MedalGQL | ||||||
|  |   totalMakes10000: MedalGQL | ||||||
|  |   dailyMakes50: MedalGQL | ||||||
|  |   dailyMakes100: MedalGQL | ||||||
|  |   dailyMakes150: MedalGQL | ||||||
|  |   dailyMakes200: MedalGQL | ||||||
|  |   dailyMakes250: MedalGQL | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type MedalGQL { | ||||||
|  |   count: Int! | ||||||
|  |   nickname: String | ||||||
|  | } | ||||||
|  |  | ||||||
|  | input MedalScope @oneOf { | ||||||
|  |   videoId: Int | ||||||
|  |   interval: TimeInterval | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type GetRunsResult { | ||||||
|  |   runs: [RunGQL!]! | ||||||
|   count: Int |   count: Int | ||||||
|   ids: [Int!]! |   runIds: [Int!]! | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type RunGQL { | ||||||
|  |   id: Int! | ||||||
|  |   runLength: Int! | ||||||
|  |   videoId: Int! | ||||||
|  |   userId: Int! | ||||||
|  |   shots: [ShotGQL!]! | ||||||
| } | } | ||||||
|  |  | ||||||
| type ShotGQL { | type ShotGQL { | ||||||
| @@ -349,6 +413,7 @@ type UserGQL { | |||||||
|   profileImageUri: String |   profileImageUri: String | ||||||
|   createdAt: DateTime |   createdAt: DateTime | ||||||
|   updatedAt: DateTime |   updatedAt: DateTime | ||||||
|  |   videosPrivateByDefault: Boolean | ||||||
|   following: [UserGQL!] |   following: [UserGQL!] | ||||||
|   followers: [UserGQL!] |   followers: [UserGQL!] | ||||||
| } | } | ||||||
| @@ -386,6 +451,7 @@ type VideoGQL { | |||||||
|   elapsedTime: Float |   elapsedTime: Float | ||||||
|   framesPerSecond: Float! |   framesPerSecond: Float! | ||||||
|   tableSize: Float! |   tableSize: Float! | ||||||
|  |   private: Boolean! | ||||||
|   stream: UploadStreamGQL |   stream: UploadStreamGQL | ||||||
|   playlist: HLSPlaylistGQL |   playlist: HLSPlaylistGQL | ||||||
|   tags: [VideoTag!]! |   tags: [VideoTag!]! | ||||||
| @@ -408,6 +474,7 @@ type UploadStreamGQL { | |||||||
|   createdAt: DateTime! |   createdAt: DateTime! | ||||||
|   updatedAt: DateTime! |   updatedAt: DateTime! | ||||||
|   segments: [UploadSegmentGQL!]! |   segments: [UploadSegmentGQL!]! | ||||||
|  |   clientUploadStatus: ClientUploadStatusEnum | ||||||
|   resolution: VideoResolutionGQL! |   resolution: VideoResolutionGQL! | ||||||
|   streamSegmentType: StreamSegmentTypeEnum! |   streamSegmentType: StreamSegmentTypeEnum! | ||||||
| } | } | ||||||
| @@ -432,6 +499,11 @@ type UploadSegmentGQL { | |||||||
|   linksRequested: Int! |   linksRequested: Int! | ||||||
| } | } | ||||||
|  |  | ||||||
|  | enum ClientUploadStatusEnum { | ||||||
|  |   UPLOAD_ENABLED | ||||||
|  |   UPLOAD_DISABLED | ||||||
|  | } | ||||||
|  |  | ||||||
| type VideoResolutionGQL { | type VideoResolutionGQL { | ||||||
|   width: Int |   width: Int | ||||||
|   height: Int |   height: Int | ||||||
| @@ -458,6 +530,7 @@ type VideoTagClass { | |||||||
| } | } | ||||||
|  |  | ||||||
| type HomographyInfoGQL { | type HomographyInfoGQL { | ||||||
|  |   id: Int! | ||||||
|   frameIndex: Int! |   frameIndex: Int! | ||||||
|   crop: BoundingBoxGQL! |   crop: BoundingBoxGQL! | ||||||
|   pockets: [BoundingBoxGQL!]! |   pockets: [BoundingBoxGQL!]! | ||||||
| @@ -487,6 +560,7 @@ type IntPoint2D { | |||||||
| } | } | ||||||
|  |  | ||||||
| type VideoProcessingGQL { | type VideoProcessingGQL { | ||||||
|  |   id: Int! | ||||||
|   errors: [VideoProcessingErrorGQL!]! |   errors: [VideoProcessingErrorGQL!]! | ||||||
|   status: ProcessingStatusEnum! |   status: ProcessingStatusEnum! | ||||||
|   statuses: [VideoProcessingStatusGQL!]! |   statuses: [VideoProcessingStatusGQL!]! | ||||||
| @@ -517,33 +591,61 @@ type VideoProcessingStatusGQL { | |||||||
|   updatedAt: DateTime |   updatedAt: DateTime | ||||||
| } | } | ||||||
|  |  | ||||||
|  | input RunFilterInput { | ||||||
|  |   videoId: [Int!] | ||||||
|  |   userId: [Int!] | ||||||
|  |   username: [String!] | ||||||
|  |   andFilters: [RunFilterInput!] | ||||||
|  |   orFilters: [RunFilterInput!] | ||||||
|  |   notFilter: RunFilterInput | ||||||
|  |   tableSize: FloatRangeFilter | ||||||
|  |   createdAt: DateRangeFilter | ||||||
|  |   runLength: FloatRangeFilter | ||||||
|  | } | ||||||
|  |  | ||||||
|  | input GetRunsOrdering { | ||||||
|  |   orderings: [RunsOrderingComponent!]! | ||||||
|  | } | ||||||
|  |  | ||||||
|  | input RunsOrderingComponent @oneOf { | ||||||
|  |   runLength: IntOrdering | ||||||
|  |   videoId: IntOrdering | ||||||
|  |   videoCreation: DatetimeOrdering | ||||||
|  | } | ||||||
|  |  | ||||||
|  | input IntOrdering { | ||||||
|  |   descending: Boolean! = true | ||||||
|  |   startingAt: Int = null | ||||||
|  | } | ||||||
|  |  | ||||||
|  | input DatetimeOrdering { | ||||||
|  |   descending: Boolean! = true | ||||||
|  |   startingAt: DateTime = null | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type GetShotsResult { | ||||||
|  |   shots: [ShotGQL!]! | ||||||
|  |   count: Int | ||||||
|  |   ids: [Int!]! | ||||||
|  | } | ||||||
|  |  | ||||||
| input GetShotsOrdering { | input GetShotsOrdering { | ||||||
|   orderings: [ShotsOrderingComponent!]! |   orderings: [ShotsOrderingComponent!]! | ||||||
| } | } | ||||||
|  |  | ||||||
| input ShotsOrderingComponent @oneOf { | input ShotsOrderingComponent @oneOf { | ||||||
|   videoCreation: DatetimeShotOrdering |   videoCreation: DatetimeOrdering | ||||||
|   marginOfError: FloatShotOrdering |   marginOfError: FloatOrdering | ||||||
|   videoId: IntShotOrdering |   videoId: IntOrdering | ||||||
|   startFrame: IntShotOrdering |   startFrame: IntOrdering | ||||||
|   runLength: IntShotOrdering |   runLength: IntOrdering | ||||||
| } | } | ||||||
|  |  | ||||||
| input DatetimeShotOrdering { | input FloatOrdering { | ||||||
|   descending: Boolean! = true |  | ||||||
|   startingAt: DateTime = null |  | ||||||
| } |  | ||||||
|  |  | ||||||
| input FloatShotOrdering { |  | ||||||
|   descending: Boolean! = true |   descending: Boolean! = true | ||||||
|   startingAt: Float = null |   startingAt: Float = null | ||||||
| } | } | ||||||
|  |  | ||||||
| input IntShotOrdering { |  | ||||||
|   descending: Boolean! = true |  | ||||||
|   startingAt: Int = null |  | ||||||
| } |  | ||||||
|  |  | ||||||
| input GetShotsPagination { | input GetShotsPagination { | ||||||
|   createdAfter: CreatedAfter! |   createdAfter: CreatedAfter! | ||||||
|   startFrameAfter: Int! |   startFrameAfter: Int! | ||||||
| @@ -569,6 +671,13 @@ type UserPlayTimeGQL { | |||||||
|   totalSeconds: Float! |   totalSeconds: Float! | ||||||
| } | } | ||||||
|  |  | ||||||
|  | input VideoFilterInput { | ||||||
|  |   isStreamCompleted: Boolean = null | ||||||
|  |   requireCursorCompletion: Boolean! = true | ||||||
|  |   createdAt: DateRangeFilter = null | ||||||
|  |   excludeVideosWithNoShots: Boolean = null | ||||||
|  | } | ||||||
|  |  | ||||||
| type VideoHistoryGQL { | type VideoHistoryGQL { | ||||||
|   videos: [VideoGQL!]! |   videos: [VideoGQL!]! | ||||||
|   pageInfo: PageInfoGQL! |   pageInfo: PageInfoGQL! | ||||||
| @@ -579,11 +688,6 @@ type PageInfoGQL { | |||||||
|   endCursor: String |   endCursor: String | ||||||
| } | } | ||||||
|  |  | ||||||
| input VideoFilterInput { |  | ||||||
|   isStreamCompleted: Boolean = null |  | ||||||
|   requireCursorCompletion: Boolean! = true |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type TagGQL { | type TagGQL { | ||||||
|   name: String! |   name: String! | ||||||
|   id: Int! |   id: Int! | ||||||
| @@ -617,6 +721,7 @@ type Mutation { | |||||||
|   editUser(input: EditUserInputGQL!): UserGQL! |   editUser(input: EditUserInputGQL!): UserGQL! | ||||||
|   followUser(followedUserId: Int!): UserGQL! |   followUser(followedUserId: Int!): UserGQL! | ||||||
|   unfollowUser(followedUserId: Int!): UserGQL! |   unfollowUser(followedUserId: Int!): UserGQL! | ||||||
|  |   findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL | ||||||
|   createUploadStream( |   createUploadStream( | ||||||
|     videoMetadata: VideoMetadataInput! |     videoMetadata: VideoMetadataInput! | ||||||
|   ): CreateUploadStreamReturn! |   ): CreateUploadStreamReturn! | ||||||
| @@ -705,6 +810,7 @@ type TooManyProfileImageUploadsErr { | |||||||
| input EditUserInputGQL { | input EditUserInputGQL { | ||||||
|   username: String = null |   username: String = null | ||||||
|   fargoRating: Int = null |   fargoRating: Int = null | ||||||
|  |   videosPrivateByDefault: Boolean = null | ||||||
| } | } | ||||||
|  |  | ||||||
| type CreateUploadStreamReturn { | type CreateUploadStreamReturn { | ||||||
| @@ -719,7 +825,9 @@ input VideoMetadataInput { | |||||||
|   tableSize: Float = null |   tableSize: Float = null | ||||||
|   lastIntendedSegmentBound: Int = null |   lastIntendedSegmentBound: Int = null | ||||||
|   streamSegmentType: StreamSegmentTypeEnum = null |   streamSegmentType: StreamSegmentTypeEnum = null | ||||||
|  |   private: Boolean = null | ||||||
|   endStream: Boolean! = false |   endStream: Boolean! = false | ||||||
|  |   clientUploadStatus: ClientUploadStatusEnum = null | ||||||
|   resolution: VideoResolution = null |   resolution: VideoResolution = null | ||||||
|   framesPerSecond: Float = null |   framesPerSecond: Float = null | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user