Compare commits

...

11 Commits

Author SHA1 Message Date
42502772f5 Use get feed videos
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-11-04 14:59:39 -07:00
014aab473b Merge pull request 'Add operation for query doesUsernameExist' (#111) from loewy/query-does-username-exist into master
Reviewed-on: #111
2024-10-31 18:39:58 -06:00
353872401e does username exist query
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-10-31 17:37:08 -07:00
433dfdaf74 Merge pull request 'Add countRespectsLimit to GetShotsWithMetadataFilterResult operation args' (#110) from loewy/add-count-respects-limit-to-get-shots-with-metadata-filter-result into master
Reviewed-on: #110
2024-10-31 16:41:06 -06:00
a2d9e688e9 add countRespectsLimit
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-10-31 15:21:54 -07:00
b3259dac1f Merge pull request 'Add countRespectsLimit' (#109) from mk/count-respects-limit into master
Reviewed-on: #109
2024-10-31 14:40:06 -06:00
0982b9e60c Add countRespectsLimit
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-10-31 13:37:15 -07:00
1710ae451c Merge pull request 'Return id for cache;' (#107) from kat/use-logged-in-user into master
Reviewed-on: #107
2024-10-31 01:57:38 -06:00
cfcf1dbcd2 Merge pull request 'Use logged in user for followers' (#106) from kat/use-logged-in-user into master
Reviewed-on: #106
2024-10-30 21:52:42 -06:00
baf139aab5 Merge pull request 'Add support for medals' (#105) from mk/medals into master
Reviewed-on: #105
2024-10-30 17:53:33 -06:00
b3b454ef83 Add support for medals
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-10-30 16:51:35 -07:00
5 changed files with 199 additions and 3 deletions

View File

@@ -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"]>;
@@ -2160,6 +2169,7 @@ export type Query = {
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>;
@@ -2195,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"];
@@ -2211,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>;
@@ -2221,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"];
@@ -2269,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"];
@@ -2694,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";
@@ -2835,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 = {
@@ -3241,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"]>;
@@ -4122,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 {
@@ -4616,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 {
@@ -4649,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'
* }, * },
* }); * });
*/ */
@@ -5578,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) {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -131,3 +131,7 @@ query getUserFollowingFollowers {
} }
} }
} }
query doesUsernameExist($candidateUsername: String!) {
doesUsernameExist(candidateUsername: $candidateUsername)
}

View File

@@ -9,22 +9,26 @@ 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!]!
@@ -267,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