Compare commits
	
		
			17 Commits
		
	
	
		
			9db95c4e6c
			...
			kat/add-ge
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 42502772f5 | |||
| 014aab473b | |||
| 353872401e | |||
| 433dfdaf74 | |||
| a2d9e688e9 | |||
| b3259dac1f | |||
| 0982b9e60c | |||
| 1710ae451c | |||
| de9e7dea6a | |||
| cfcf1dbcd2 | |||
| 05e3182e8b | |||
| baf139aab5 | |||
| b3b454ef83 | |||
| f6e4a1bc0b | |||
| 9d8155527d | |||
| 8690e81029 | |||
| 4ef13a482a | 
							
								
								
									
										181
									
								
								src/index.tsx
									
									
									
									
									
								
							
							
						
						
									
										181
									
								
								src/index.tsx
									
									
									
									
									
								
							| @@ -1974,6 +1974,15 @@ export type MakePercentageIntervalGql = { | |||||||
|   makePercentage: Scalars["Float"]["output"]; |   makePercentage: Scalars["Float"]["output"]; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | export type MedalGql = { | ||||||
|  |   __typename?: "MedalGQL"; | ||||||
|  |   count: Scalars["Int"]["output"]; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | export type MedalScope = | ||||||
|  |   | { interval: TimeInterval; videoId?: never } | ||||||
|  |   | { interval?: never; videoId: Scalars["Int"]["input"] }; | ||||||
|  |  | ||||||
| export type MustHaveSetForUploadLinkErr = { | export type MustHaveSetForUploadLinkErr = { | ||||||
|   __typename?: "MustHaveSetForUploadLinkErr"; |   __typename?: "MustHaveSetForUploadLinkErr"; | ||||||
|   framesPerSecond?: Maybe<Scalars["Boolean"]["output"]>; |   framesPerSecond?: Maybe<Scalars["Boolean"]["output"]>; | ||||||
| @@ -2154,11 +2163,13 @@ export enum ProcessingStatusEnum { | |||||||
|  |  | ||||||
| export type Query = { | export type Query = { | ||||||
|   __typename?: "Query"; |   __typename?: "Query"; | ||||||
|  |   doesUsernameExist: Scalars["Boolean"]["output"]; | ||||||
|   getAggregatedShotMetrics: Array<AggregateResultGql>; |   getAggregatedShotMetrics: Array<AggregateResultGql>; | ||||||
|   getBucketSet?: Maybe<BucketSetGql>; |   getBucketSet?: Maybe<BucketSetGql>; | ||||||
|   getDeployedConfig: DeployedConfigGql; |   getDeployedConfig: DeployedConfigGql; | ||||||
|   getFeedVideos: VideoHistoryGql; |   getFeedVideos: VideoHistoryGql; | ||||||
|   getLoggedInUser?: Maybe<UserGql>; |   getLoggedInUser?: Maybe<UserGql>; | ||||||
|  |   getMedals: RequestedMedalsGql; | ||||||
|   getOrderedShots: GetShotsResult; |   getOrderedShots: GetShotsResult; | ||||||
|   getPlayTime: UserPlayTimeGql; |   getPlayTime: UserPlayTimeGql; | ||||||
|   getShotAnnotationTypes: Array<ShotAnnotationTypeGql>; |   getShotAnnotationTypes: Array<ShotAnnotationTypeGql>; | ||||||
| @@ -2176,6 +2187,10 @@ export type Query = { | |||||||
|   waitFor: Scalars["Float"]["output"]; |   waitFor: Scalars["Float"]["output"]; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | export type QueryDoesUsernameExistArgs = { | ||||||
|  |   candidateUsername: Scalars["String"]["input"]; | ||||||
|  | }; | ||||||
|  |  | ||||||
| export type QueryGetAggregatedShotMetricsArgs = { | export type QueryGetAggregatedShotMetricsArgs = { | ||||||
|   aggregateInput: AggregateInputGql; |   aggregateInput: AggregateInputGql; | ||||||
| }; | }; | ||||||
| @@ -2190,7 +2205,13 @@ export type QueryGetFeedVideosArgs = { | |||||||
|   limit?: Scalars["Int"]["input"]; |   limit?: Scalars["Int"]["input"]; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | export type QueryGetMedalsArgs = { | ||||||
|  |   scope: MedalScope; | ||||||
|  |   userId?: InputMaybe<Scalars["Int"]["input"]>; | ||||||
|  | }; | ||||||
|  |  | ||||||
| export type QueryGetOrderedShotsArgs = { | export type QueryGetOrderedShotsArgs = { | ||||||
|  |   countRespectsLimit?: Scalars["Boolean"]["input"]; | ||||||
|   filterInput: FilterInput; |   filterInput: FilterInput; | ||||||
|   ids?: InputMaybe<Array<Scalars["Int"]["input"]>>; |   ids?: InputMaybe<Array<Scalars["Int"]["input"]>>; | ||||||
|   limit?: Scalars["Int"]["input"]; |   limit?: Scalars["Int"]["input"]; | ||||||
| @@ -2206,6 +2227,7 @@ export type QueryGetShotAnnotationTypesArgs = { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| export type QueryGetShotsArgs = { | export type QueryGetShotsArgs = { | ||||||
|  |   countRespectsLimit?: Scalars["Boolean"]["input"]; | ||||||
|   filterInput: FilterInput; |   filterInput: FilterInput; | ||||||
|   limit?: Scalars["Int"]["input"]; |   limit?: Scalars["Int"]["input"]; | ||||||
|   shotsPagination?: InputMaybe<GetShotsPagination>; |   shotsPagination?: InputMaybe<GetShotsPagination>; | ||||||
| @@ -2216,6 +2238,7 @@ export type QueryGetShotsByIdsArgs = { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| export type QueryGetShotsWithMetadataArgs = { | export type QueryGetShotsWithMetadataArgs = { | ||||||
|  |   countRespectsLimit?: Scalars["Boolean"]["input"]; | ||||||
|   filterInput: FilterInput; |   filterInput: FilterInput; | ||||||
|   ids?: InputMaybe<Array<Scalars["Int"]["input"]>>; |   ids?: InputMaybe<Array<Scalars["Int"]["input"]>>; | ||||||
|   limit?: Scalars["Int"]["input"]; |   limit?: Scalars["Int"]["input"]; | ||||||
| @@ -2264,6 +2287,44 @@ export type QueryWaitForArgs = { | |||||||
|   duration: Scalars["Float"]["input"]; |   duration: Scalars["Float"]["input"]; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | export type RequestedMedalsGql = { | ||||||
|  |   __typename?: "RequestedMedalsGQL"; | ||||||
|  |   dayStreak2?: Maybe<MedalGql>; | ||||||
|  |   dayStreak3?: Maybe<MedalGql>; | ||||||
|  |   dayStreak4?: Maybe<MedalGql>; | ||||||
|  |   dayStreak5?: Maybe<MedalGql>; | ||||||
|  |   dayStreak6?: Maybe<MedalGql>; | ||||||
|  |   dayStreak7?: Maybe<MedalGql>; | ||||||
|  |   dayStreak14?: Maybe<MedalGql>; | ||||||
|  |   dayStreak21?: Maybe<MedalGql>; | ||||||
|  |   dayStreak30?: Maybe<MedalGql>; | ||||||
|  |   dayStreak60?: Maybe<MedalGql>; | ||||||
|  |   dayStreak90?: Maybe<MedalGql>; | ||||||
|  |   distanceOver66?: Maybe<MedalGql>; | ||||||
|  |   distanceOver78?: Maybe<MedalGql>; | ||||||
|  |   distanceOver90?: Maybe<MedalGql>; | ||||||
|  |   runLength3?: Maybe<MedalGql>; | ||||||
|  |   runLength5?: Maybe<MedalGql>; | ||||||
|  |   runLength8?: Maybe<MedalGql>; | ||||||
|  |   runLength10?: Maybe<MedalGql>; | ||||||
|  |   runLength15?: Maybe<MedalGql>; | ||||||
|  |   runLength20?: Maybe<MedalGql>; | ||||||
|  |   runLength25?: Maybe<MedalGql>; | ||||||
|  |   runLength30?: Maybe<MedalGql>; | ||||||
|  |   runLength40?: Maybe<MedalGql>; | ||||||
|  |   runLength50?: Maybe<MedalGql>; | ||||||
|  |   totalMakes25?: Maybe<MedalGql>; | ||||||
|  |   totalMakes50?: Maybe<MedalGql>; | ||||||
|  |   totalMakes75?: Maybe<MedalGql>; | ||||||
|  |   totalMakes100?: Maybe<MedalGql>; | ||||||
|  |   totalMakes200?: Maybe<MedalGql>; | ||||||
|  |   totalMakes300?: Maybe<MedalGql>; | ||||||
|  |   totalMakes400?: Maybe<MedalGql>; | ||||||
|  |   totalMakes500?: Maybe<MedalGql>; | ||||||
|  |   totalMakes750?: Maybe<MedalGql>; | ||||||
|  |   totalMakes1000?: Maybe<MedalGql>; | ||||||
|  | }; | ||||||
|  |  | ||||||
| export type SegmentAlreadyUploadedErr = { | export type SegmentAlreadyUploadedErr = { | ||||||
|   __typename?: "SegmentAlreadyUploadedErr"; |   __typename?: "SegmentAlreadyUploadedErr"; | ||||||
|   segmentId: Scalars["Int"]["output"]; |   segmentId: Scalars["Int"]["output"]; | ||||||
| @@ -2689,7 +2750,7 @@ export type GetFeedQueryVariables = Exact<{ | |||||||
|  |  | ||||||
| export type GetFeedQuery = { | export type GetFeedQuery = { | ||||||
|   __typename?: "Query"; |   __typename?: "Query"; | ||||||
|   getUserVideos: { |   getFeedVideos: { | ||||||
|     __typename?: "VideoHistoryGQL"; |     __typename?: "VideoHistoryGQL"; | ||||||
|     videos: Array<{ |     videos: Array<{ | ||||||
|       __typename?: "VideoGQL"; |       __typename?: "VideoGQL"; | ||||||
| @@ -2830,6 +2891,7 @@ export type GetShotsWithMetadataFilterResultQueryVariables = Exact<{ | |||||||
|   shotsOrdering?: InputMaybe<GetShotsOrdering>; |   shotsOrdering?: InputMaybe<GetShotsOrdering>; | ||||||
|   limit?: InputMaybe<Scalars["Int"]["input"]>; |   limit?: InputMaybe<Scalars["Int"]["input"]>; | ||||||
|   ids?: InputMaybe<Array<Scalars["Int"]["input"]> | Scalars["Int"]["input"]>; |   ids?: InputMaybe<Array<Scalars["Int"]["input"]> | Scalars["Int"]["input"]>; | ||||||
|  |   countRespectsLimit?: InputMaybe<Scalars["Boolean"]["input"]>; | ||||||
| }>; | }>; | ||||||
|  |  | ||||||
| export type GetShotsWithMetadataFilterResultQuery = { | export type GetShotsWithMetadataFilterResultQuery = { | ||||||
| @@ -3177,8 +3239,17 @@ export type FollowUserMutation = { | |||||||
|   followUser: { |   followUser: { | ||||||
|     __typename?: "UserGQL"; |     __typename?: "UserGQL"; | ||||||
|     username: string; |     username: string; | ||||||
|     following?: Array<{ __typename?: "UserGQL"; id: number }> | null; |     id: number; | ||||||
|     followers?: Array<{ __typename?: "UserGQL"; id: number }> | null; |     following?: Array<{ | ||||||
|  |       __typename?: "UserGQL"; | ||||||
|  |       id: number; | ||||||
|  |       username: string; | ||||||
|  |     }> | null; | ||||||
|  |     followers?: Array<{ | ||||||
|  |       __typename?: "UserGQL"; | ||||||
|  |       id: number; | ||||||
|  |       username: string; | ||||||
|  |     }> | null; | ||||||
|   }; |   }; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| @@ -3191,8 +3262,17 @@ export type UnfollowUserMutation = { | |||||||
|   unfollowUser: { |   unfollowUser: { | ||||||
|     __typename?: "UserGQL"; |     __typename?: "UserGQL"; | ||||||
|     username: string; |     username: string; | ||||||
|     following?: Array<{ __typename?: "UserGQL"; id: number }> | null; |     id: number; | ||||||
|     followers?: Array<{ __typename?: "UserGQL"; id: number }> | null; |     following?: Array<{ | ||||||
|  |       __typename?: "UserGQL"; | ||||||
|  |       id: number; | ||||||
|  |       username: string; | ||||||
|  |     }> | null; | ||||||
|  |     followers?: Array<{ | ||||||
|  |       __typename?: "UserGQL"; | ||||||
|  |       id: number; | ||||||
|  |       username: string; | ||||||
|  |     }> | null; | ||||||
|   }; |   }; | ||||||
| }; | }; | ||||||
|  |  | ||||||
| @@ -3218,6 +3298,15 @@ export type GetUserFollowingFollowersQuery = { | |||||||
|   } | null; |   } | null; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | export type DoesUsernameExistQueryVariables = Exact<{ | ||||||
|  |   candidateUsername: Scalars["String"]["input"]; | ||||||
|  | }>; | ||||||
|  |  | ||||||
|  | export type DoesUsernameExistQuery = { | ||||||
|  |   __typename?: "Query"; | ||||||
|  |   doesUsernameExist: boolean; | ||||||
|  | }; | ||||||
|  |  | ||||||
| export type GetStreamMonitoringDetailsQueryVariables = Exact<{ | export type GetStreamMonitoringDetailsQueryVariables = Exact<{ | ||||||
|   videoId: Scalars["Int"]["input"]; |   videoId: Scalars["Int"]["input"]; | ||||||
|   debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>; |   debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>; | ||||||
| @@ -4099,7 +4188,7 @@ export const GetFeedDocument = gql` | |||||||
|     $after: String = null |     $after: String = null | ||||||
|     $filters: VideoFilterInput = null |     $filters: VideoFilterInput = null | ||||||
|   ) { |   ) { | ||||||
|     getUserVideos(limit: $limit, after: $after, filters: $filters) { |     getFeedVideos(limit: $limit, after: $after, filters: $filters) { | ||||||
|       videos { |       videos { | ||||||
|         id |         id | ||||||
|         owner { |         owner { | ||||||
| @@ -4593,12 +4682,14 @@ export const GetShotsWithMetadataFilterResultDocument = gql` | |||||||
|     $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 { | ||||||
| @@ -4626,6 +4717,7 @@ export const GetShotsWithMetadataFilterResultDocument = gql` | |||||||
|  *      shotsOrdering: // value for 'shotsOrdering' |  *      shotsOrdering: // value for 'shotsOrdering' | ||||||
|  *      limit: // value for 'limit' |  *      limit: // value for 'limit' | ||||||
|  *      ids: // value for 'ids' |  *      ids: // value for 'ids' | ||||||
|  |  *      countRespectsLimit: // value for 'countRespectsLimit' | ||||||
|  *   }, |  *   }, | ||||||
|  * }); |  * }); | ||||||
|  */ |  */ | ||||||
| @@ -5361,11 +5453,14 @@ export const FollowUserDocument = gql` | |||||||
|   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 | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| @@ -5417,11 +5512,14 @@ export const UnfollowUserDocument = gql` | |||||||
|   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 | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| @@ -5549,6 +5647,77 @@ export type GetUserFollowingFollowersQueryResult = Apollo.QueryResult< | |||||||
|   GetUserFollowingFollowersQuery, |   GetUserFollowingFollowersQuery, | ||||||
|   GetUserFollowingFollowersQueryVariables |   GetUserFollowingFollowersQueryVariables | ||||||
| >; | >; | ||||||
|  | export const DoesUsernameExistDocument = gql` | ||||||
|  |   query doesUsernameExist($candidateUsername: String!) { | ||||||
|  |     doesUsernameExist(candidateUsername: $candidateUsername) | ||||||
|  |   } | ||||||
|  | `; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * __useDoesUsernameExistQuery__ | ||||||
|  |  * | ||||||
|  |  * To run a query within a React component, call `useDoesUsernameExistQuery` and pass it any options that fit your needs. | ||||||
|  |  * When your component renders, `useDoesUsernameExistQuery` 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 } = useDoesUsernameExistQuery({ | ||||||
|  |  *   variables: { | ||||||
|  |  *      candidateUsername: // value for 'candidateUsername' | ||||||
|  |  *   }, | ||||||
|  |  * }); | ||||||
|  |  */ | ||||||
|  | export function useDoesUsernameExistQuery( | ||||||
|  |   baseOptions: Apollo.QueryHookOptions< | ||||||
|  |     DoesUsernameExistQuery, | ||||||
|  |     DoesUsernameExistQueryVariables | ||||||
|  |   >, | ||||||
|  | ) { | ||||||
|  |   const options = { ...defaultOptions, ...baseOptions }; | ||||||
|  |   return Apollo.useQuery< | ||||||
|  |     DoesUsernameExistQuery, | ||||||
|  |     DoesUsernameExistQueryVariables | ||||||
|  |   >(DoesUsernameExistDocument, options); | ||||||
|  | } | ||||||
|  | export function useDoesUsernameExistLazyQuery( | ||||||
|  |   baseOptions?: Apollo.LazyQueryHookOptions< | ||||||
|  |     DoesUsernameExistQuery, | ||||||
|  |     DoesUsernameExistQueryVariables | ||||||
|  |   >, | ||||||
|  | ) { | ||||||
|  |   const options = { ...defaultOptions, ...baseOptions }; | ||||||
|  |   return Apollo.useLazyQuery< | ||||||
|  |     DoesUsernameExistQuery, | ||||||
|  |     DoesUsernameExistQueryVariables | ||||||
|  |   >(DoesUsernameExistDocument, options); | ||||||
|  | } | ||||||
|  | export function useDoesUsernameExistSuspenseQuery( | ||||||
|  |   baseOptions?: Apollo.SuspenseQueryHookOptions< | ||||||
|  |     DoesUsernameExistQuery, | ||||||
|  |     DoesUsernameExistQueryVariables | ||||||
|  |   >, | ||||||
|  | ) { | ||||||
|  |   const options = { ...defaultOptions, ...baseOptions }; | ||||||
|  |   return Apollo.useSuspenseQuery< | ||||||
|  |     DoesUsernameExistQuery, | ||||||
|  |     DoesUsernameExistQueryVariables | ||||||
|  |   >(DoesUsernameExistDocument, options); | ||||||
|  | } | ||||||
|  | export type DoesUsernameExistQueryHookResult = ReturnType< | ||||||
|  |   typeof useDoesUsernameExistQuery | ||||||
|  | >; | ||||||
|  | export type DoesUsernameExistLazyQueryHookResult = ReturnType< | ||||||
|  |   typeof useDoesUsernameExistLazyQuery | ||||||
|  | >; | ||||||
|  | export type DoesUsernameExistSuspenseQueryHookResult = ReturnType< | ||||||
|  |   typeof useDoesUsernameExistSuspenseQuery | ||||||
|  | >; | ||||||
|  | export type DoesUsernameExistQueryResult = Apollo.QueryResult< | ||||||
|  |   DoesUsernameExistQuery, | ||||||
|  |   DoesUsernameExistQueryVariables | ||||||
|  | >; | ||||||
| export const GetStreamMonitoringDetailsDocument = gql` | export const GetStreamMonitoringDetailsDocument = gql` | ||||||
|   query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) { |   query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) { | ||||||
|     getVideo(videoId: $videoId, debuggingJson: $debuggingJson) { |     getVideo(videoId: $videoId, debuggingJson: $debuggingJson) { | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ query GetFeed( | |||||||
|   $after: String = null |   $after: String = null | ||||||
|   $filters: VideoFilterInput = null |   $filters: VideoFilterInput = null | ||||||
| ) { | ) { | ||||||
|   getUserVideos(limit: $limit, after: $after, filters: $filters) { |   getFeedVideos(limit: $limit, after: $after, filters: $filters) { | ||||||
|     videos { |     videos { | ||||||
|       id |       id | ||||||
|       owner { |       owner { | ||||||
|   | |||||||
| @@ -67,12 +67,14 @@ query GetShotsWithMetadataFilterResult( | |||||||
|   $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 { | ||||||
|   | |||||||
| @@ -91,11 +91,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 +106,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 +131,7 @@ query getUserFollowingFollowers { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | query doesUsernameExist($candidateUsername: String!) { | ||||||
|  |   doesUsernameExist(candidateUsername: $candidateUsername) | ||||||
|  | } | ||||||
|   | |||||||
| @@ -9,26 +9,31 @@ type Query { | |||||||
|     videoId: ID! |     videoId: ID! | ||||||
|     intervalDuration: Int! = 300 |     intervalDuration: Int! = 300 | ||||||
|   ): [MakePercentageIntervalGQL!]! |   ): [MakePercentageIntervalGQL!]! | ||||||
|  |   getMedals(scope: MedalScope!, userId: Int = null): RequestedMedalsGQL! | ||||||
|   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 | ||||||
| @@ -266,6 +271,52 @@ type MakePercentageIntervalGQL { | |||||||
|   elapsedTime: Float! |   elapsedTime: Float! | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type RequestedMedalsGQL { | ||||||
|  |   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 | ||||||
|  |   totalMakes50: MedalGQL | ||||||
|  |   totalMakes75: MedalGQL | ||||||
|  |   totalMakes100: MedalGQL | ||||||
|  |   totalMakes200: MedalGQL | ||||||
|  |   totalMakes300: MedalGQL | ||||||
|  |   totalMakes400: MedalGQL | ||||||
|  |   totalMakes500: MedalGQL | ||||||
|  |   totalMakes750: MedalGQL | ||||||
|  |   totalMakes1000: MedalGQL | ||||||
|  |   dayStreak2: MedalGQL | ||||||
|  |   dayStreak3: MedalGQL | ||||||
|  |   dayStreak4: MedalGQL | ||||||
|  |   dayStreak5: MedalGQL | ||||||
|  |   dayStreak6: MedalGQL | ||||||
|  |   dayStreak7: MedalGQL | ||||||
|  |   dayStreak14: MedalGQL | ||||||
|  |   dayStreak21: MedalGQL | ||||||
|  |   dayStreak30: MedalGQL | ||||||
|  |   dayStreak60: MedalGQL | ||||||
|  |   dayStreak90: MedalGQL | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type MedalGQL { | ||||||
|  |   count: Int! | ||||||
|  | } | ||||||
|  |  | ||||||
|  | input MedalScope @oneOf { | ||||||
|  |   videoId: Int | ||||||
|  |   interval: TimeInterval | ||||||
|  | } | ||||||
|  |  | ||||||
| type GetShotsResult { | type GetShotsResult { | ||||||
|   shots: [ShotGQL!]! |   shots: [ShotGQL!]! | ||||||
|   count: Int |   count: Int | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user