Compare commits

...

14 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
de9e7dea6a Return id for cache;
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-10-31 01:56:34 -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
05e3182e8b Use logged in user for followers
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-10-30 18:20:25 -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
f6e4a1bc0b Merge pull request 'Use getUser for getting followers' (#104) from kat/get-user-followers into master
Reviewed-on: #104
2024-10-30 16:19:53 -06:00
5 changed files with 243 additions and 15 deletions

View File

@@ -1974,6 +1974,15 @@ export type MakePercentageIntervalGql = {
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 = {
__typename?: "MustHaveSetForUploadLinkErr";
framesPerSecond?: Maybe<Scalars["Boolean"]["output"]>;
@@ -2160,6 +2169,7 @@ export type Query = {
getDeployedConfig: DeployedConfigGql;
getFeedVideos: VideoHistoryGql;
getLoggedInUser?: Maybe<UserGql>;
getMedals: RequestedMedalsGql;
getOrderedShots: GetShotsResult;
getPlayTime: UserPlayTimeGql;
getShotAnnotationTypes: Array<ShotAnnotationTypeGql>;
@@ -2195,7 +2205,13 @@ export type QueryGetFeedVideosArgs = {
limit?: Scalars["Int"]["input"];
};
export type QueryGetMedalsArgs = {
scope: MedalScope;
userId?: InputMaybe<Scalars["Int"]["input"]>;
};
export type QueryGetOrderedShotsArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput;
ids?: InputMaybe<Array<Scalars["Int"]["input"]>>;
limit?: Scalars["Int"]["input"];
@@ -2211,6 +2227,7 @@ export type QueryGetShotAnnotationTypesArgs = {
};
export type QueryGetShotsArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput;
limit?: Scalars["Int"]["input"];
shotsPagination?: InputMaybe<GetShotsPagination>;
@@ -2221,6 +2238,7 @@ export type QueryGetShotsByIdsArgs = {
};
export type QueryGetShotsWithMetadataArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput;
ids?: InputMaybe<Array<Scalars["Int"]["input"]>>;
limit?: Scalars["Int"]["input"];
@@ -2269,6 +2287,44 @@ export type QueryWaitForArgs = {
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 = {
__typename?: "SegmentAlreadyUploadedErr";
segmentId: Scalars["Int"]["output"];
@@ -2694,7 +2750,7 @@ export type GetFeedQueryVariables = Exact<{
export type GetFeedQuery = {
__typename?: "Query";
getUserVideos: {
getFeedVideos: {
__typename?: "VideoHistoryGQL";
videos: Array<{
__typename?: "VideoGQL";
@@ -2835,6 +2891,7 @@ export type GetShotsWithMetadataFilterResultQueryVariables = Exact<{
shotsOrdering?: InputMaybe<GetShotsOrdering>;
limit?: InputMaybe<Scalars["Int"]["input"]>;
ids?: InputMaybe<Array<Scalars["Int"]["input"]> | Scalars["Int"]["input"]>;
countRespectsLimit?: InputMaybe<Scalars["Boolean"]["input"]>;
}>;
export type GetShotsWithMetadataFilterResultQuery = {
@@ -3182,8 +3239,17 @@ export type FollowUserMutation = {
followUser: {
__typename?: "UserGQL";
username: string;
following?: Array<{ __typename?: "UserGQL"; id: number }> | null;
followers?: Array<{ __typename?: "UserGQL"; id: number }> | null;
id: number;
following?: Array<{
__typename?: "UserGQL";
id: number;
username: string;
}> | null;
followers?: Array<{
__typename?: "UserGQL";
id: number;
username: string;
}> | null;
};
};
@@ -3196,19 +3262,29 @@ export type UnfollowUserMutation = {
unfollowUser: {
__typename?: "UserGQL";
username: string;
following?: Array<{ __typename?: "UserGQL"; id: number }> | null;
followers?: Array<{ __typename?: "UserGQL"; id: number }> | null;
id: number;
following?: Array<{
__typename?: "UserGQL";
id: number;
username: string;
}> | null;
followers?: Array<{
__typename?: "UserGQL";
id: number;
username: string;
}> | null;
};
};
export type GetUserFollowingFollowersQueryVariables = Exact<{
userId: Scalars["Int"]["input"];
[key: string]: never;
}>;
export type GetUserFollowingFollowersQuery = {
__typename?: "Query";
getUser?: {
getLoggedInUser?: {
__typename?: "UserGQL";
id: number;
following?: Array<{
__typename?: "UserGQL";
id: number;
@@ -3222,6 +3298,15 @@ export type GetUserFollowingFollowersQuery = {
} | null;
};
export type DoesUsernameExistQueryVariables = Exact<{
candidateUsername: Scalars["String"]["input"];
}>;
export type DoesUsernameExistQuery = {
__typename?: "Query";
doesUsernameExist: boolean;
};
export type GetStreamMonitoringDetailsQueryVariables = Exact<{
videoId: Scalars["Int"]["input"];
debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>;
@@ -4103,7 +4188,7 @@ export const GetFeedDocument = gql`
$after: String = null
$filters: VideoFilterInput = null
) {
getUserVideos(limit: $limit, after: $after, filters: $filters) {
getFeedVideos(limit: $limit, after: $after, filters: $filters) {
videos {
id
owner {
@@ -4597,12 +4682,14 @@ export const GetShotsWithMetadataFilterResultDocument = gql`
$shotsOrdering: GetShotsOrdering
$limit: Int
$ids: [Int!]
$countRespectsLimit: Boolean
) {
getOrderedShots(
filterInput: $filterInput
shotsOrdering: $shotsOrdering
limit: $limit
ids: $ids
countRespectsLimit: $countRespectsLimit
) {
count
shots {
@@ -4630,6 +4717,7 @@ export const GetShotsWithMetadataFilterResultDocument = gql`
* shotsOrdering: // value for 'shotsOrdering'
* limit: // value for 'limit'
* ids: // value for 'ids'
* countRespectsLimit: // value for 'countRespectsLimit'
* },
* });
*/
@@ -5365,11 +5453,14 @@ export const FollowUserDocument = gql`
mutation followUser($followedUserId: Int!) {
followUser(followedUserId: $followedUserId) {
username
id
following {
id
username
}
followers {
id
username
}
}
}
@@ -5421,11 +5512,14 @@ export const UnfollowUserDocument = gql`
mutation unfollowUser($followedUserId: Int!) {
unfollowUser(followedUserId: $followedUserId) {
username
id
following {
id
username
}
followers {
id
username
}
}
}
@@ -5474,8 +5568,9 @@ export type UnfollowUserMutationOptions = Apollo.BaseMutationOptions<
UnfollowUserMutationVariables
>;
export const GetUserFollowingFollowersDocument = gql`
query getUserFollowingFollowers($userId: Int!) {
getUser(userId: $userId) {
query getUserFollowingFollowers {
getLoggedInUser {
id
following {
id
username
@@ -5500,12 +5595,11 @@ export const GetUserFollowingFollowersDocument = gql`
* @example
* const { data, loading, error } = useGetUserFollowingFollowersQuery({
* variables: {
* userId: // value for 'userId'
* },
* });
*/
export function useGetUserFollowingFollowersQuery(
baseOptions: Apollo.QueryHookOptions<
baseOptions?: Apollo.QueryHookOptions<
GetUserFollowingFollowersQuery,
GetUserFollowingFollowersQueryVariables
>,
@@ -5553,6 +5647,77 @@ export type GetUserFollowingFollowersQueryResult = Apollo.QueryResult<
GetUserFollowingFollowersQuery,
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`
query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
getVideo(videoId: $videoId, debuggingJson: $debuggingJson) {

View File

@@ -3,7 +3,7 @@ query GetFeed(
$after: String = null
$filters: VideoFilterInput = null
) {
getUserVideos(limit: $limit, after: $after, filters: $filters) {
getFeedVideos(limit: $limit, after: $after, filters: $filters) {
videos {
id
owner {

View File

@@ -67,12 +67,14 @@ query GetShotsWithMetadataFilterResult(
$shotsOrdering: GetShotsOrdering
$limit: Int
$ids: [Int!]
$countRespectsLimit: Boolean
) {
getOrderedShots(
filterInput: $filterInput
shotsOrdering: $shotsOrdering
limit: $limit
ids: $ids
countRespectsLimit: $countRespectsLimit
) {
count
shots {

View File

@@ -91,11 +91,14 @@ query GetUserTags {
mutation followUser($followedUserId: Int!) {
followUser(followedUserId: $followedUserId) {
username
id
following {
id
username
}
followers {
id
username
}
}
}
@@ -103,17 +106,21 @@ mutation followUser($followedUserId: Int!) {
mutation unfollowUser($followedUserId: Int!) {
unfollowUser(followedUserId: $followedUserId) {
username
id
following {
id
username
}
followers {
id
username
}
}
}
query getUserFollowingFollowers($userId: Int!) {
getUser(userId: $userId) {
query getUserFollowingFollowers {
getLoggedInUser {
id
following {
id
username
@@ -124,3 +131,7 @@ query getUserFollowingFollowers($userId: Int!) {
}
}
}
query doesUsernameExist($candidateUsername: String!) {
doesUsernameExist(candidateUsername: $candidateUsername)
}

View File

@@ -9,22 +9,26 @@ type Query {
videoId: ID!
intervalDuration: Int! = 300
): [MakePercentageIntervalGQL!]!
getMedals(scope: MedalScope!, userId: Int = null): RequestedMedalsGQL!
getOrderedShots(
filterInput: FilterInput!
ids: [Int!] = null
shotsOrdering: GetShotsOrdering = null
limit: Int! = 500
countRespectsLimit: Boolean! = false
): GetShotsResult!
getShotsWithMetadata(
filterInput: FilterInput!
ids: [Int!] = null
shotsPagination: GetShotsPagination = null
limit: Int! = 500
countRespectsLimit: Boolean! = false
): GetShotsResult!
getShots(
filterInput: FilterInput!
shotsPagination: GetShotsPagination = null
limit: Int! = 500
countRespectsLimit: Boolean! = false
): [ShotGQL!]!
getShotsByIds(ids: [Int!]!): [ShotGQL!]!
getShotAnnotationTypes(errorTypes: Boolean = false): [ShotAnnotationTypeGQL!]!
@@ -267,6 +271,52 @@ type MakePercentageIntervalGQL {
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 {
shots: [ShotGQL!]!
count: Int