Compare commits

..

27 Commits

Author SHA1 Message Date
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
9d8155527d Use getUser for getting followers
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-10-30 16:18:25 -06:00
8690e81029 Merge pull request 'Add doesUsernameExist' (#103) from mk/does-username-exist into master
Reviewed-on: #103
2024-10-30 13:08:59 -06:00
4ef13a482a Add doesUsernameExist
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-10-30 12:07:54 -07:00
9db95c4e6c Merge pull request 'Get user following followers' (#101) from kat/get-user-following-followers into master
Reviewed-on: #101
2024-10-29 23:38:48 -06:00
249807c935 Get user following followers
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-10-29 23:37:37 -06:00
eec79b2dc5 Merge pull request 'Use getOrderedShots when requesting getShotsWithVideoGql' (#100) from loewy/use-ordered-shots-to-get-thumbnail into master
Reviewed-on: #100
2024-10-29 19:44:14 -06:00
464c013095 Merge branch 'master' into loewy/use-ordered-shots-to-get-thumbnail
All checks were successful
Tests / Tests (pull_request) Successful in 1m37s
2024-10-29 19:42:30 -06:00
e2f4995cad use getOrderedShots when requesting getShotsWithVideoGql
All checks were successful
Tests / Tests (pull_request) Successful in 6m32s
2024-10-29 17:59:18 -07:00
a43b286e39 Merge pull request 'Followers and following' (#99) from kat/return-following-followers into master
Reviewed-on: #99
2024-10-29 15:48:34 -06:00
148f5362f0 Followers and following
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-10-29 15:47:00 -06:00
4d01e9814d Merge pull request 'Remove unused field' (#98) from loewy/remove-ids-from-get-shot-video-gql into master
Reviewed-on: #98
2024-10-29 13:45:52 -06:00
b9e3e1f310 remove uneeded ids
All checks were successful
Tests / Tests (pull_request) Successful in 6s
2024-10-29 12:44:56 -07:00
b0da48c4fb Merge pull request 'Add fargoRating in getLoggedInUser operations requested fields' (#97) from loewy/fargo-rating-in-returns into master
Reviewed-on: #97
2024-10-28 17:04:08 -06:00
1e53dc21ee add fargoRating in user operations
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-10-28 16:00:11 -07:00
5c5014339f Allow python 3.12 2024-10-28 02:24:24 -06:00
84188a6066 Merge pull request 'Return username in follow unfollow' (#96) from kat/return-username into master
Reviewed-on: #96
2024-10-27 19:19:41 -06:00
7c7be319d1 Return username in follow unfollow
All checks were successful
Tests / Tests (pull_request) Successful in 9s
2024-10-27 19:18:57 -06:00
79784faba1 Merge pull request 'Follow and unfollow mutation' (#95) from kat/user-relationships-result into master
Reviewed-on: #95
2024-10-27 13:53:22 -06:00
f3ea44755c Follow, unfollow mutation
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-10-27 12:22:22 -06:00
9b6559559c Use clearer names in the fields of GetUserRelationshipsMatching 2024-10-25 16:58:21 -06:00
2398216bf2 Replace GetUsernamesAndRelationships with GetUserRelationshipsMatching 2024-10-25 02:45:07 -06:00
d942b91d17 Merge pull request 'Update get user and following response' (#94) from kat/update-gql-v2 into master
Reviewed-on: #94
2024-10-25 01:28:03 -06:00
5 changed files with 506 additions and 78 deletions

View File

@@ -7,7 +7,7 @@ readme = "README.md"
packages = [{include = "rbproto"}]
[tool.poetry.dependencies]
python = ">=3.10,<3.12"
python = ">=3.10,<=3.13"
protobuf = "^4.25.3"

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"]>;
@@ -2154,11 +2163,13 @@ export enum ProcessingStatusEnum {
export type Query = {
__typename?: "Query";
doesUsernameExist: Scalars["Boolean"]["output"];
getAggregatedShotMetrics: Array<AggregateResultGql>;
getBucketSet?: Maybe<BucketSetGql>;
getDeployedConfig: DeployedConfigGql;
getFeedVideos: VideoHistoryGql;
getLoggedInUser?: Maybe<UserGql>;
getMedals: RequestedMedalsGql;
getOrderedShots: GetShotsResult;
getPlayTime: UserPlayTimeGql;
getShotAnnotationTypes: Array<ShotAnnotationTypeGql>;
@@ -2166,16 +2177,20 @@ export type Query = {
getShotsByIds: Array<ShotGql>;
getShotsWithMetadata: GetShotsResult;
getUser?: Maybe<UserGql>;
getUserRelationshipsMatching: UserRelationshipsResult;
getUserTags: Array<TagGql>;
getUserVideos: VideoHistoryGql;
getUsernames: Array<Scalars["String"]["output"]>;
getUsernamesAndFollowing: UsernamesAndFollowingResponse;
getVideo: VideoGql;
getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>;
getVideos: Array<VideoGql>;
waitFor: Scalars["Float"]["output"];
};
export type QueryDoesUsernameExistArgs = {
candidateUsername: Scalars["String"]["input"];
};
export type QueryGetAggregatedShotMetricsArgs = {
aggregateInput: AggregateInputGql;
};
@@ -2190,6 +2205,11 @@ export type QueryGetFeedVideosArgs = {
limit?: Scalars["Int"]["input"];
};
export type QueryGetMedalsArgs = {
scope: MedalScope;
userId?: InputMaybe<Scalars["Int"]["input"]>;
};
export type QueryGetOrderedShotsArgs = {
filterInput: FilterInput;
ids?: InputMaybe<Array<Scalars["Int"]["input"]>>;
@@ -2226,6 +2246,13 @@ export type QueryGetUserArgs = {
userId: Scalars["Int"]["input"];
};
export type QueryGetUserRelationshipsMatchingArgs = {
after?: InputMaybe<Scalars["String"]["input"]>;
limit?: InputMaybe<Scalars["Int"]["input"]>;
matchString?: InputMaybe<Scalars["String"]["input"]>;
userId: Scalars["Int"]["input"];
};
export type QueryGetUserVideosArgs = {
after?: InputMaybe<Scalars["String"]["input"]>;
filters?: InputMaybe<VideoFilterInput>;
@@ -2239,13 +2266,6 @@ export type QueryGetUsernamesArgs = {
matchString?: InputMaybe<Scalars["String"]["input"]>;
};
export type QueryGetUsernamesAndFollowingArgs = {
after?: InputMaybe<Scalars["String"]["input"]>;
limit?: InputMaybe<Scalars["Int"]["input"]>;
matchString?: InputMaybe<Scalars["String"]["input"]>;
userId: Scalars["Int"]["input"];
};
export type QueryGetVideoArgs = {
debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>;
videoId: Scalars["Int"]["input"];
@@ -2264,6 +2284,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"];
@@ -2509,8 +2567,8 @@ export type UserGql = {
createdAt?: Maybe<Scalars["DateTime"]["output"]>;
fargoRating?: Maybe<Scalars["Int"]["output"]>;
firebaseUid?: Maybe<Scalars["String"]["output"]>;
followers?: Maybe<Array<Scalars["Int"]["output"]>>;
following?: Maybe<Array<Scalars["Int"]["output"]>>;
followers?: Maybe<Array<UserGql>>;
following?: Maybe<Array<UserGql>>;
id: Scalars["Int"]["output"];
isAdmin?: Maybe<Scalars["Boolean"]["output"]>;
profileImageUri?: Maybe<Scalars["String"]["output"]>;
@@ -2523,11 +2581,17 @@ export type UserPlayTimeGql = {
totalSeconds: Scalars["Float"]["output"];
};
export type UsernamesAndFollowingResponse = {
__typename?: "UsernamesAndFollowingResponse";
followers: Array<Scalars["Int"]["output"]>;
following: Array<Scalars["Int"]["output"]>;
users: Array<UserGql>;
export type UserRelationship = {
__typename?: "UserRelationship";
toUser: UserGql;
toUserFollows: Scalars["Boolean"]["output"];
toUserIsFollowedBy: Scalars["Boolean"]["output"];
};
export type UserRelationshipsResult = {
__typename?: "UserRelationshipsResult";
inquiringUser: UserGql;
relationships: Array<UserRelationship>;
};
export type VideoFilterInput = {
@@ -2798,14 +2862,14 @@ export type UpdateShotAnnotationsMutation = {
export type GetShotsWithVideoGqlQueryVariables = Exact<{
filterInput: FilterInput;
shotsOrdering?: InputMaybe<GetShotsOrdering>;
limit?: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetShotsWithVideoGqlQuery = {
__typename?: "Query";
getShotsWithMetadata: {
getOrderedShots: {
__typename?: "GetShotsResult";
ids: Array<number>;
shots: Array<{
__typename?: "ShotGQL";
id: number;
@@ -3108,6 +3172,7 @@ export type GetLoggedInUserQuery = {
username: string;
isAdmin?: boolean | null;
profileImageUri?: string | null;
fargoRating?: number | null;
activeVideoId?: number | null;
createdAt?: any | null;
updatedAt?: any | null;
@@ -3134,19 +3199,23 @@ export type GetUsernamesQuery = {
getUsernames: Array<string>;
};
export type GetUsernamesAndFollowingQueryVariables = Exact<{
export type GetUserRelationshipsMatchingQueryVariables = Exact<{
userId: Scalars["Int"]["input"];
matchString: Scalars["String"]["input"];
limit?: InputMaybe<Scalars["Int"]["input"]>;
after?: InputMaybe<Scalars["String"]["input"]>;
}>;
export type GetUsernamesAndFollowingQuery = {
export type GetUserRelationshipsMatchingQuery = {
__typename?: "Query";
getUsernamesAndFollowing: {
__typename?: "UsernamesAndFollowingResponse";
followers: Array<number>;
following: Array<number>;
getUserRelationshipsMatching: {
__typename?: "UserRelationshipsResult";
relationships: Array<{
__typename?: "UserRelationship";
toUserFollows: boolean;
toUserIsFollowedBy: boolean;
toUser: { __typename?: "UserGQL"; username: string; id: number };
}>;
};
};
@@ -3157,6 +3226,55 @@ export type GetUserTagsQuery = {
getUserTags: Array<{ __typename?: "TagGQL"; id: number; name: string }>;
};
export type FollowUserMutationVariables = Exact<{
followedUserId: Scalars["Int"]["input"];
}>;
export type FollowUserMutation = {
__typename?: "Mutation";
followUser: {
__typename?: "UserGQL";
username: string;
following?: Array<{ __typename?: "UserGQL"; id: number }> | null;
followers?: Array<{ __typename?: "UserGQL"; id: number }> | null;
};
};
export type UnfollowUserMutationVariables = Exact<{
followedUserId: Scalars["Int"]["input"];
}>;
export type UnfollowUserMutation = {
__typename?: "Mutation";
unfollowUser: {
__typename?: "UserGQL";
username: string;
following?: Array<{ __typename?: "UserGQL"; id: number }> | null;
followers?: Array<{ __typename?: "UserGQL"; id: number }> | null;
};
};
export type GetUserFollowingFollowersQueryVariables = Exact<{
[key: string]: never;
}>;
export type GetUserFollowingFollowersQuery = {
__typename?: "Query";
getLoggedInUser?: {
__typename?: "UserGQL";
following?: Array<{
__typename?: "UserGQL";
id: number;
username: string;
}> | null;
followers?: Array<{
__typename?: "UserGQL";
id: number;
username: string;
}> | null;
} | null;
};
export type GetStreamMonitoringDetailsQueryVariables = Exact<{
videoId: Scalars["Int"]["input"];
debuggingJson?: InputMaybe<Scalars["JSON"]["input"]>;
@@ -4437,9 +4555,16 @@ export type UpdateShotAnnotationsMutationOptions = Apollo.BaseMutationOptions<
UpdateShotAnnotationsMutationVariables
>;
export const GetShotsWithVideoGqlDocument = gql`
query GetShotsWithVideoGql($filterInput: FilterInput!, $limit: Int) {
getShotsWithMetadata(filterInput: $filterInput, limit: $limit) {
ids
query GetShotsWithVideoGql(
$filterInput: FilterInput!
$shotsOrdering: GetShotsOrdering
$limit: Int
) {
getOrderedShots(
filterInput: $filterInput
shotsOrdering: $shotsOrdering
limit: $limit
) {
shots {
id
videoId
@@ -4465,6 +4590,7 @@ export const GetShotsWithVideoGqlDocument = gql`
* const { data, loading, error } = useGetShotsWithVideoGqlQuery({
* variables: {
* filterInput: // value for 'filterInput'
* shotsOrdering: // value for 'shotsOrdering'
* limit: // value for 'limit'
* },
* });
@@ -4902,6 +5028,7 @@ export const GetLoggedInUserDocument = gql`
username
isAdmin
profileImageUri
fargoRating
activeVideoId
createdAt
updatedAt
@@ -5123,36 +5250,42 @@ export type GetUsernamesQueryResult = Apollo.QueryResult<
GetUsernamesQuery,
GetUsernamesQueryVariables
>;
export const GetUsernamesAndFollowingDocument = gql`
query getUsernamesAndFollowing(
export const GetUserRelationshipsMatchingDocument = gql`
query getUserRelationshipsMatching(
$userId: Int!
$matchString: String!
$limit: Int = null
$after: String = null
) {
getUsernamesAndFollowing(
getUserRelationshipsMatching(
userId: $userId
matchString: $matchString
limit: $limit
after: $after
) {
followers
following
relationships {
toUser {
username
id
}
toUserFollows
toUserIsFollowedBy
}
}
}
`;
/**
* __useGetUsernamesAndFollowingQuery__
* __useGetUserRelationshipsMatchingQuery__
*
* To run a query within a React component, call `useGetUsernamesAndFollowingQuery` and pass it any options that fit your needs.
* When your component renders, `useGetUsernamesAndFollowingQuery` returns an object from Apollo Client that contains loading, error, and data properties
* To run a query within a React component, call `useGetUserRelationshipsMatchingQuery` and pass it any options that fit your needs.
* When your component renders, `useGetUserRelationshipsMatchingQuery` 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 } = useGetUsernamesAndFollowingQuery({
* const { data, loading, error } = useGetUserRelationshipsMatchingQuery({
* variables: {
* userId: // value for 'userId'
* matchString: // value for 'matchString'
@@ -5161,54 +5294,54 @@ export const GetUsernamesAndFollowingDocument = gql`
* },
* });
*/
export function useGetUsernamesAndFollowingQuery(
export function useGetUserRelationshipsMatchingQuery(
baseOptions: Apollo.QueryHookOptions<
GetUsernamesAndFollowingQuery,
GetUsernamesAndFollowingQueryVariables
GetUserRelationshipsMatchingQuery,
GetUserRelationshipsMatchingQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<
GetUsernamesAndFollowingQuery,
GetUsernamesAndFollowingQueryVariables
>(GetUsernamesAndFollowingDocument, options);
GetUserRelationshipsMatchingQuery,
GetUserRelationshipsMatchingQueryVariables
>(GetUserRelationshipsMatchingDocument, options);
}
export function useGetUsernamesAndFollowingLazyQuery(
export function useGetUserRelationshipsMatchingLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetUsernamesAndFollowingQuery,
GetUsernamesAndFollowingQueryVariables
GetUserRelationshipsMatchingQuery,
GetUserRelationshipsMatchingQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<
GetUsernamesAndFollowingQuery,
GetUsernamesAndFollowingQueryVariables
>(GetUsernamesAndFollowingDocument, options);
GetUserRelationshipsMatchingQuery,
GetUserRelationshipsMatchingQueryVariables
>(GetUserRelationshipsMatchingDocument, options);
}
export function useGetUsernamesAndFollowingSuspenseQuery(
export function useGetUserRelationshipsMatchingSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetUsernamesAndFollowingQuery,
GetUsernamesAndFollowingQueryVariables
GetUserRelationshipsMatchingQuery,
GetUserRelationshipsMatchingQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<
GetUsernamesAndFollowingQuery,
GetUsernamesAndFollowingQueryVariables
>(GetUsernamesAndFollowingDocument, options);
GetUserRelationshipsMatchingQuery,
GetUserRelationshipsMatchingQueryVariables
>(GetUserRelationshipsMatchingDocument, options);
}
export type GetUsernamesAndFollowingQueryHookResult = ReturnType<
typeof useGetUsernamesAndFollowingQuery
export type GetUserRelationshipsMatchingQueryHookResult = ReturnType<
typeof useGetUserRelationshipsMatchingQuery
>;
export type GetUsernamesAndFollowingLazyQueryHookResult = ReturnType<
typeof useGetUsernamesAndFollowingLazyQuery
export type GetUserRelationshipsMatchingLazyQueryHookResult = ReturnType<
typeof useGetUserRelationshipsMatchingLazyQuery
>;
export type GetUsernamesAndFollowingSuspenseQueryHookResult = ReturnType<
typeof useGetUsernamesAndFollowingSuspenseQuery
export type GetUserRelationshipsMatchingSuspenseQueryHookResult = ReturnType<
typeof useGetUserRelationshipsMatchingSuspenseQuery
>;
export type GetUsernamesAndFollowingQueryResult = Apollo.QueryResult<
GetUsernamesAndFollowingQuery,
GetUsernamesAndFollowingQueryVariables
export type GetUserRelationshipsMatchingQueryResult = Apollo.QueryResult<
GetUserRelationshipsMatchingQuery,
GetUserRelationshipsMatchingQueryVariables
>;
export const GetUserTagsDocument = gql`
query GetUserTags {
@@ -5281,6 +5414,197 @@ export type GetUserTagsQueryResult = Apollo.QueryResult<
GetUserTagsQuery,
GetUserTagsQueryVariables
>;
export const FollowUserDocument = gql`
mutation followUser($followedUserId: Int!) {
followUser(followedUserId: $followedUserId) {
username
following {
id
}
followers {
id
}
}
}
`;
export type FollowUserMutationFn = Apollo.MutationFunction<
FollowUserMutation,
FollowUserMutationVariables
>;
/**
* __useFollowUserMutation__
*
* To run a mutation, you first call `useFollowUserMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useFollowUserMutation` returns a tuple that includes:
* - A mutate function that you can call at any time to execute the mutation
* - An object with fields that represent the current status of the mutation's execution
*
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
*
* @example
* const [followUserMutation, { data, loading, error }] = useFollowUserMutation({
* variables: {
* followedUserId: // value for 'followedUserId'
* },
* });
*/
export function useFollowUserMutation(
baseOptions?: Apollo.MutationHookOptions<
FollowUserMutation,
FollowUserMutationVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useMutation<FollowUserMutation, FollowUserMutationVariables>(
FollowUserDocument,
options,
);
}
export type FollowUserMutationHookResult = ReturnType<
typeof useFollowUserMutation
>;
export type FollowUserMutationResult =
Apollo.MutationResult<FollowUserMutation>;
export type FollowUserMutationOptions = Apollo.BaseMutationOptions<
FollowUserMutation,
FollowUserMutationVariables
>;
export const UnfollowUserDocument = gql`
mutation unfollowUser($followedUserId: Int!) {
unfollowUser(followedUserId: $followedUserId) {
username
following {
id
}
followers {
id
}
}
}
`;
export type UnfollowUserMutationFn = Apollo.MutationFunction<
UnfollowUserMutation,
UnfollowUserMutationVariables
>;
/**
* __useUnfollowUserMutation__
*
* To run a mutation, you first call `useUnfollowUserMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useUnfollowUserMutation` returns a tuple that includes:
* - A mutate function that you can call at any time to execute the mutation
* - An object with fields that represent the current status of the mutation's execution
*
* @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;
*
* @example
* const [unfollowUserMutation, { data, loading, error }] = useUnfollowUserMutation({
* variables: {
* followedUserId: // value for 'followedUserId'
* },
* });
*/
export function useUnfollowUserMutation(
baseOptions?: Apollo.MutationHookOptions<
UnfollowUserMutation,
UnfollowUserMutationVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useMutation<
UnfollowUserMutation,
UnfollowUserMutationVariables
>(UnfollowUserDocument, options);
}
export type UnfollowUserMutationHookResult = ReturnType<
typeof useUnfollowUserMutation
>;
export type UnfollowUserMutationResult =
Apollo.MutationResult<UnfollowUserMutation>;
export type UnfollowUserMutationOptions = Apollo.BaseMutationOptions<
UnfollowUserMutation,
UnfollowUserMutationVariables
>;
export const GetUserFollowingFollowersDocument = gql`
query getUserFollowingFollowers {
getLoggedInUser {
following {
id
username
}
followers {
id
username
}
}
}
`;
/**
* __useGetUserFollowingFollowersQuery__
*
* To run a query within a React component, call `useGetUserFollowingFollowersQuery` and pass it any options that fit your needs.
* When your component renders, `useGetUserFollowingFollowersQuery` 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 } = useGetUserFollowingFollowersQuery({
* variables: {
* },
* });
*/
export function useGetUserFollowingFollowersQuery(
baseOptions?: Apollo.QueryHookOptions<
GetUserFollowingFollowersQuery,
GetUserFollowingFollowersQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<
GetUserFollowingFollowersQuery,
GetUserFollowingFollowersQueryVariables
>(GetUserFollowingFollowersDocument, options);
}
export function useGetUserFollowingFollowersLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetUserFollowingFollowersQuery,
GetUserFollowingFollowersQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<
GetUserFollowingFollowersQuery,
GetUserFollowingFollowersQueryVariables
>(GetUserFollowingFollowersDocument, options);
}
export function useGetUserFollowingFollowersSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetUserFollowingFollowersQuery,
GetUserFollowingFollowersQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<
GetUserFollowingFollowersQuery,
GetUserFollowingFollowersQueryVariables
>(GetUserFollowingFollowersDocument, options);
}
export type GetUserFollowingFollowersQueryHookResult = ReturnType<
typeof useGetUserFollowingFollowersQuery
>;
export type GetUserFollowingFollowersLazyQueryHookResult = ReturnType<
typeof useGetUserFollowingFollowersLazyQuery
>;
export type GetUserFollowingFollowersSuspenseQueryHookResult = ReturnType<
typeof useGetUserFollowingFollowersSuspenseQuery
>;
export type GetUserFollowingFollowersQueryResult = Apollo.QueryResult<
GetUserFollowingFollowersQuery,
GetUserFollowingFollowersQueryVariables
>;
export const GetStreamMonitoringDetailsDocument = gql`
query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
getVideo(videoId: $videoId, debuggingJson: $debuggingJson) {

View File

@@ -40,9 +40,16 @@ mutation UpdateShotAnnotations(
}
}
query GetShotsWithVideoGql($filterInput: FilterInput!, $limit: Int) {
getShotsWithMetadata(filterInput: $filterInput, limit: $limit) {
ids
query GetShotsWithVideoGql(
$filterInput: FilterInput!
$shotsOrdering: GetShotsOrdering
$limit: Int
) {
getOrderedShots(
filterInput: $filterInput
shotsOrdering: $shotsOrdering
limit: $limit
) {
shots {
id
videoId

View File

@@ -37,6 +37,7 @@ query getLoggedInUser {
username
isAdmin
profileImageUri
fargoRating
activeVideoId
createdAt
updatedAt
@@ -57,20 +58,26 @@ query getUsernames(
getUsernames(matchString: $matchString, limit: $limit, after: $after)
}
query getUsernamesAndFollowing(
query getUserRelationshipsMatching(
$userId: Int!
$matchString: String!
$limit: Int = null
$after: String = null
) {
getUsernamesAndFollowing(
getUserRelationshipsMatching(
userId: $userId
matchString: $matchString
limit: $limit
after: $after
) {
followers
following
relationships {
toUser {
username
id
}
toUserFollows
toUserIsFollowedBy
}
}
}
@@ -80,3 +87,40 @@ query GetUserTags {
name
}
}
mutation followUser($followedUserId: Int!) {
followUser(followedUserId: $followedUserId) {
username
following {
id
}
followers {
id
}
}
}
mutation unfollowUser($followedUserId: Int!) {
unfollowUser(followedUserId: $followedUserId) {
username
following {
id
}
followers {
id
}
}
}
query getUserFollowingFollowers {
getLoggedInUser {
following {
id
username
}
followers {
id
username
}
}
}

View File

@@ -9,6 +9,7 @@ type Query {
videoId: ID!
intervalDuration: Int! = 300
): [MakePercentageIntervalGQL!]!
getMedals(scope: MedalScope!, userId: Int = null): RequestedMedalsGQL!
getOrderedShots(
filterInput: FilterInput!
ids: [Int!] = null
@@ -29,18 +30,19 @@ type Query {
getShotsByIds(ids: [Int!]!): [ShotGQL!]!
getShotAnnotationTypes(errorTypes: Boolean = false): [ShotAnnotationTypeGQL!]!
getUser(userId: Int!): UserGQL
doesUsernameExist(candidateUsername: String!): Boolean!
getLoggedInUser: UserGQL
getUsernames(
matchString: String = null
limit: Int = null
after: String = null
): [String!]!
getUsernamesAndFollowing(
getUserRelationshipsMatching(
userId: Int!
matchString: String = null
limit: Int = 100
after: String = null
): UsernamesAndFollowingResponse!
): UserRelationshipsResult!
getPlayTime(userId: Int!): UserPlayTimeGQL!
getUserVideos(
userId: Int = null
@@ -266,6 +268,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
@@ -349,8 +397,8 @@ type UserGQL {
profileImageUri: String
createdAt: DateTime
updatedAt: DateTime
following: [Int!]
followers: [Int!]
following: [UserGQL!]
followers: [UserGQL!]
}
type ShotAnnotationGQL {
@@ -554,10 +602,15 @@ input CreatedAfter @oneOf {
createdAt: DateTime
}
type UsernamesAndFollowingResponse {
users: [UserGQL!]!
following: [Int!]!
followers: [Int!]!
type UserRelationshipsResult {
inquiringUser: UserGQL!
relationships: [UserRelationship!]!
}
type UserRelationship {
toUser: UserGQL!
toUserFollows: Boolean!
toUserIsFollowedBy: Boolean!
}
type UserPlayTimeGQL {