Compare commits

..

9 Commits

Author SHA1 Message Date
6b410b3d78 Return profile image in feed
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2024-11-05 12:53:42 -07:00
607504261c Merge pull request 'Create new get feed operation' (#113) from kat/add-feed into master
Reviewed-on: #113
Reviewed-by: loewy <loewymalkov@gmail.com>
2024-11-04 15:13:56 -07:00
0421be855d Create new get feed operation
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-11-04 15:08:21 -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
5 changed files with 297 additions and 0 deletions

View File

@@ -2211,6 +2211,7 @@ export type QueryGetMedalsArgs = {
};
export type QueryGetOrderedShotsArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput;
ids?: InputMaybe<Array<Scalars["Int"]["input"]>>;
limit?: Scalars["Int"]["input"];
@@ -2226,6 +2227,7 @@ export type QueryGetShotAnnotationTypesArgs = {
};
export type QueryGetShotsArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput;
limit?: Scalars["Int"]["input"];
shotsPagination?: InputMaybe<GetShotsPagination>;
@@ -2236,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"];
@@ -2783,6 +2786,54 @@ export type GetFeedQuery = {
};
};
export type GetVideoFeedQueryVariables = Exact<{
limit?: Scalars["Int"]["input"];
after?: InputMaybe<Scalars["String"]["input"]>;
filters?: InputMaybe<VideoFilterInput>;
}>;
export type GetVideoFeedQuery = {
__typename?: "Query";
getFeedVideos: {
__typename?: "VideoHistoryGQL";
videos: Array<{
__typename?: "VideoGQL";
id: number;
name?: string | null;
screenshotUri?: string | null;
totalShotsMade: number;
totalShots: number;
makePercentage: number;
createdAt?: any | null;
updatedAt?: any | null;
startTime?: any | null;
endTime?: any | null;
elapsedTime?: number | null;
tableSize: number;
owner?: {
__typename?: "UserGQL";
username: string;
profileImageUri?: string | null;
} | null;
stream?: {
__typename?: "UploadStreamGQL";
id: string;
isCompleted: boolean;
} | null;
tags: Array<{
__typename?: "VideoTag";
name: string;
tagClasses: Array<{ __typename?: "VideoTagClass"; name: string }>;
}>;
}>;
pageInfo: {
__typename?: "PageInfoGQL";
hasNextPage: boolean;
endCursor?: string | null;
};
};
};
export type GetVideoMakePercentageIntervalsQueryVariables = Exact<{
videoId: Scalars["ID"]["input"];
intervalDuration: Scalars["Int"]["input"];
@@ -2888,6 +2939,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 = {
@@ -3294,6 +3346,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"]>;
@@ -4272,6 +4333,117 @@ export type GetFeedQueryResult = Apollo.QueryResult<
GetFeedQuery,
GetFeedQueryVariables
>;
export const GetVideoFeedDocument = gql`
query GetVideoFeed(
$limit: Int! = 5
$after: String = null
$filters: VideoFilterInput = null
) {
getFeedVideos(limit: $limit, after: $after, filters: $filters) {
videos {
id
owner {
username
profileImageUri
}
name
screenshotUri
totalShotsMade
totalShots
makePercentage
createdAt
updatedAt
startTime
endTime
elapsedTime
screenshotUri
stream {
id
isCompleted
}
tableSize
tags {
tagClasses {
name
}
name
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
`;
/**
* __useGetVideoFeedQuery__
*
* To run a query within a React component, call `useGetVideoFeedQuery` and pass it any options that fit your needs.
* When your component renders, `useGetVideoFeedQuery` 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 } = useGetVideoFeedQuery({
* variables: {
* limit: // value for 'limit'
* after: // value for 'after'
* filters: // value for 'filters'
* },
* });
*/
export function useGetVideoFeedQuery(
baseOptions?: Apollo.QueryHookOptions<
GetVideoFeedQuery,
GetVideoFeedQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<GetVideoFeedQuery, GetVideoFeedQueryVariables>(
GetVideoFeedDocument,
options,
);
}
export function useGetVideoFeedLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetVideoFeedQuery,
GetVideoFeedQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<GetVideoFeedQuery, GetVideoFeedQueryVariables>(
GetVideoFeedDocument,
options,
);
}
export function useGetVideoFeedSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetVideoFeedQuery,
GetVideoFeedQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<GetVideoFeedQuery, GetVideoFeedQueryVariables>(
GetVideoFeedDocument,
options,
);
}
export type GetVideoFeedQueryHookResult = ReturnType<
typeof useGetVideoFeedQuery
>;
export type GetVideoFeedLazyQueryHookResult = ReturnType<
typeof useGetVideoFeedLazyQuery
>;
export type GetVideoFeedSuspenseQueryHookResult = ReturnType<
typeof useGetVideoFeedSuspenseQuery
>;
export type GetVideoFeedQueryResult = Apollo.QueryResult<
GetVideoFeedQuery,
GetVideoFeedQueryVariables
>;
export const GetVideoMakePercentageIntervalsDocument = gql`
query GetVideoMakePercentageIntervals(
$videoId: ID!
@@ -4669,12 +4841,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 {
@@ -4702,6 +4876,7 @@ export const GetShotsWithMetadataFilterResultDocument = gql`
* shotsOrdering: // value for 'shotsOrdering'
* limit: // value for 'limit'
* ids: // value for 'ids'
* countRespectsLimit: // value for 'countRespectsLimit'
* },
* });
*/
@@ -5631,6 +5806,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

@@ -38,3 +38,45 @@ query GetFeed(
}
}
}
query GetVideoFeed(
$limit: Int! = 5
$after: String = null
$filters: VideoFilterInput = null
) {
getFeedVideos(limit: $limit, after: $after, filters: $filters) {
videos {
id
owner {
username
profileImageUri
}
name
screenshotUri
totalShotsMade
totalShots
makePercentage
createdAt
updatedAt
startTime
endTime
elapsedTime
screenshotUri
stream {
id
isCompleted
}
tableSize
tags {
tagClasses {
name
}
name
}
}
pageInfo {
hasNextPage
endCursor
}
}
}

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

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

View File

@@ -15,17 +15,20 @@ type Query {
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!]!