Compare commits

..

4 Commits

3 changed files with 96 additions and 83 deletions

View File

@@ -2166,11 +2166,10 @@ 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;
getUsernamesAndFollowingOld: UsernamesAndFollowingResponse;
getVideo: VideoGql;
getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>;
getVideos: Array<VideoGql>;
@@ -2227,6 +2226,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>;
@@ -2240,20 +2246,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 QueryGetUsernamesAndFollowingOldArgs = {
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"];
@@ -2517,8 +2509,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"]>;
@@ -2531,11 +2523,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 = {
@@ -3142,19 +3140,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 };
}>;
};
};
@@ -5131,36 +5133,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'
@@ -5169,54 +5177,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 {

View File

@@ -57,20 +57,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
}
}
}

View File

@@ -35,18 +35,12 @@ type Query {
limit: Int = null
after: String = null
): [String!]!
getUsernamesAndFollowing(
getUserRelationshipsMatching(
userId: Int!
matchString: String = null
limit: Int = 100
after: String = null
): UsernamesAndFollowingResponse!
getUsernamesAndFollowingOld(
userId: Int!
matchString: String = null
limit: Int = 100
after: String = null
): UsernamesAndFollowingResponse!
): UserRelationshipsResult!
getPlayTime(userId: Int!): UserPlayTimeGQL!
getUserVideos(
userId: Int = null
@@ -355,8 +349,8 @@ type UserGQL {
profileImageUri: String
createdAt: DateTime
updatedAt: DateTime
following: [Int!]
followers: [Int!]
following: [UserGQL!]
followers: [UserGQL!]
}
type ShotAnnotationGQL {
@@ -560,10 +554,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 {