Compare commits

..

10 Commits

Author SHA1 Message Date
5e2fe35427 Check homography
All checks were successful
Tests / Tests (pull_request) Successful in 10s
2024-11-07 11:06:07 +01:00
4e610b7df2 Merge pull request 'Return video processing status in feed' (#119) from kat/current-processing into master
Reviewed-on: #119
2024-11-06 22:41:30 -07:00
2d6d3964ad Return video processing status in feed
All checks were successful
Tests / Tests (pull_request) Successful in 8s
2024-11-06 22:40:18 -07:00
73a58de36e Merge pull request 'Make check homography mutation' (#118) from mk/make-homography-mutation into master
Reviewed-on: #118
2024-11-06 17:26:27 -07:00
dc6f246489 Make check homography mutation
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2024-11-06 16:25:23 -08:00
c0a3aa97dc Merge pull request 'Add getShotsWithJustIds' (#117) from loewy/update-get-shots-with-video-ids into master
Reviewed-on: #117
2024-11-06 16:32:59 -07:00
f4e43b24f2 add getShotsWithJustIds
All checks were successful
Tests / Tests (pull_request) Successful in 15s
2024-11-06 14:58:32 -08:00
51ab8320d7 Merge pull request 'add checkHomographyIsValid' (#116) from mk/get-homography-valid into master
Reviewed-on: #116
2024-11-05 15:45:49 -07:00
f9a00ad3eb add checkHomographyIsValid
All checks were successful
Tests / Tests (pull_request) Successful in 16s
2024-11-05 14:39:23 -08:00
998b2ffc8c Merge pull request 'Create video card fragment' (#115) from kat/video-card-feed into master
Reviewed-on: #115
2024-11-05 14:04:02 -07:00
5 changed files with 393 additions and 0 deletions

View File

@@ -2002,6 +2002,7 @@ export type MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailed
export type Mutation = { export type Mutation = {
__typename?: "Mutation"; __typename?: "Mutation";
addAnnotationToShot: AddShotAnnotationReturn; addAnnotationToShot: AddShotAnnotationReturn;
checkHomographyIsValid?: Maybe<HomographyInfoGql>;
createBucketSet: BucketSetGql; createBucketSet: BucketSetGql;
createUploadStream: CreateUploadStreamReturn; createUploadStream: CreateUploadStreamReturn;
deleteVideo: Scalars["Boolean"]["output"]; deleteVideo: Scalars["Boolean"]["output"];
@@ -2024,6 +2025,11 @@ export type MutationAddAnnotationToShotArgs = {
shotId: Scalars["Int"]["input"]; shotId: Scalars["Int"]["input"];
}; };
export type MutationCheckHomographyIsValidArgs = {
b64Image: Scalars["String"]["input"];
videoId: Scalars["Int"]["input"];
};
export type MutationCreateBucketSetArgs = { export type MutationCreateBucketSetArgs = {
params: CreateBucketSetInput; params: CreateBucketSetInput;
}; };
@@ -2728,6 +2734,51 @@ export type GetAggregatedShotMetricsQuery = {
}>; }>;
}; };
export type CheckHomographyIsValidMutationVariables = Exact<{
b64Image: Scalars["String"]["input"];
videoId: Scalars["Int"]["input"];
}>;
export type CheckHomographyIsValidMutation = {
__typename?: "Mutation";
checkHomographyIsValid?: {
__typename?: "HomographyInfoGQL";
frameIndex: number;
crop: {
__typename?: "BoundingBoxGQL";
left: number;
top: number;
width: number;
height: number;
};
pockets: Array<{
__typename?: "BoundingBoxGQL";
left: number;
top: number;
width: number;
height: number;
}>;
sourcePoints: {
__typename?: "PocketPointsGQL";
topLeft: { __typename?: "IntPoint2D"; x: number; y: number };
topSide: { __typename?: "IntPoint2D"; x: number; y: number };
topRight: { __typename?: "IntPoint2D"; x: number; y: number };
bottomLeft: { __typename?: "IntPoint2D"; x: number; y: number };
bottomSide: { __typename?: "IntPoint2D"; x: number; y: number };
bottomRight: { __typename?: "IntPoint2D"; x: number; y: number };
};
destPoints: {
__typename?: "PocketPointsGQL";
topLeft: { __typename?: "IntPoint2D"; x: number; y: number };
topSide: { __typename?: "IntPoint2D"; x: number; y: number };
topRight: { __typename?: "IntPoint2D"; x: number; y: number };
bottomLeft: { __typename?: "IntPoint2D"; x: number; y: number };
bottomSide: { __typename?: "IntPoint2D"; x: number; y: number };
bottomRight: { __typename?: "IntPoint2D"; x: number; y: number };
};
} | null;
};
export type GetDeployedConfigQueryVariables = Exact<{ [key: string]: never }>; export type GetDeployedConfigQueryVariables = Exact<{ [key: string]: never }>;
export type GetDeployedConfigQuery = { export type GetDeployedConfigQuery = {
@@ -2816,6 +2867,15 @@ export type VideoCardFieldsFragment = {
name: string; name: string;
tagClasses: Array<{ __typename?: "VideoTagClass"; name: string }>; tagClasses: Array<{ __typename?: "VideoTagClass"; name: string }>;
}>; }>;
currentProcessing?: {
__typename?: "VideoProcessingGQL";
status: ProcessingStatusEnum;
errors: Array<{ __typename?: "VideoProcessingErrorGQL"; message: string }>;
statuses: Array<{
__typename?: "VideoProcessingStatusGQL";
status: ProcessingStatusEnum;
}>;
} | null;
}; };
export type GetVideoFeedQueryVariables = Exact<{ export type GetVideoFeedQueryVariables = Exact<{
@@ -2858,6 +2918,18 @@ export type GetVideoFeedQuery = {
name: string; name: string;
tagClasses: Array<{ __typename?: "VideoTagClass"; name: string }>; tagClasses: Array<{ __typename?: "VideoTagClass"; name: string }>;
}>; }>;
currentProcessing?: {
__typename?: "VideoProcessingGQL";
status: ProcessingStatusEnum;
errors: Array<{
__typename?: "VideoProcessingErrorGQL";
message: string;
}>;
statuses: Array<{
__typename?: "VideoProcessingStatusGQL";
status: ProcessingStatusEnum;
}>;
} | null;
}>; }>;
pageInfo: { pageInfo: {
__typename?: "PageInfoGQL"; __typename?: "PageInfoGQL";
@@ -2967,6 +3039,20 @@ export type GetShotsWithVideoGqlQuery = {
}; };
}; };
export type GetShotsWithJustIdsQueryVariables = Exact<{
filterInput: FilterInput;
shotsOrdering?: InputMaybe<GetShotsOrdering>;
limit?: InputMaybe<Scalars["Int"]["input"]>;
}>;
export type GetShotsWithJustIdsQuery = {
__typename?: "Query";
getOrderedShots: {
__typename?: "GetShotsResult";
shots: Array<{ __typename?: "ShotGQL"; id: number; videoId: number }>;
};
};
export type GetShotsWithMetadataFilterResultQueryVariables = Exact<{ export type GetShotsWithMetadataFilterResultQueryVariables = Exact<{
filterInput: FilterInput; filterInput: FilterInput;
shotsOrdering?: InputMaybe<GetShotsOrdering>; shotsOrdering?: InputMaybe<GetShotsOrdering>;
@@ -4019,6 +4105,15 @@ export const VideoCardFieldsFragmentDoc = gql`
} }
name name
} }
currentProcessing {
errors {
message
}
status
statuses {
status
}
}
} }
`; `;
export const ShotWithAllFeaturesFragmentDoc = gql` export const ShotWithAllFeaturesFragmentDoc = gql`
@@ -4219,6 +4314,121 @@ export type GetAggregatedShotMetricsQueryResult = Apollo.QueryResult<
GetAggregatedShotMetricsQuery, GetAggregatedShotMetricsQuery,
GetAggregatedShotMetricsQueryVariables GetAggregatedShotMetricsQueryVariables
>; >;
export const CheckHomographyIsValidDocument = gql`
mutation checkHomographyIsValid($b64Image: String!, $videoId: Int!) {
checkHomographyIsValid(b64Image: $b64Image, videoId: $videoId) {
frameIndex
crop {
left
top
width
height
}
pockets {
left
top
width
height
}
sourcePoints {
topLeft {
x
y
}
topSide {
x
y
}
topRight {
x
y
}
bottomLeft {
x
y
}
bottomSide {
x
y
}
bottomRight {
x
y
}
}
destPoints {
topLeft {
x
y
}
topSide {
x
y
}
topRight {
x
y
}
bottomLeft {
x
y
}
bottomSide {
x
y
}
bottomRight {
x
y
}
}
}
}
`;
export type CheckHomographyIsValidMutationFn = Apollo.MutationFunction<
CheckHomographyIsValidMutation,
CheckHomographyIsValidMutationVariables
>;
/**
* __useCheckHomographyIsValidMutation__
*
* To run a mutation, you first call `useCheckHomographyIsValidMutation` within a React component and pass it any options that fit your needs.
* When your component renders, `useCheckHomographyIsValidMutation` 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 [checkHomographyIsValidMutation, { data, loading, error }] = useCheckHomographyIsValidMutation({
* variables: {
* b64Image: // value for 'b64Image'
* videoId: // value for 'videoId'
* },
* });
*/
export function useCheckHomographyIsValidMutation(
baseOptions?: Apollo.MutationHookOptions<
CheckHomographyIsValidMutation,
CheckHomographyIsValidMutationVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useMutation<
CheckHomographyIsValidMutation,
CheckHomographyIsValidMutationVariables
>(CheckHomographyIsValidDocument, options);
}
export type CheckHomographyIsValidMutationHookResult = ReturnType<
typeof useCheckHomographyIsValidMutation
>;
export type CheckHomographyIsValidMutationResult =
Apollo.MutationResult<CheckHomographyIsValidMutation>;
export type CheckHomographyIsValidMutationOptions = Apollo.BaseMutationOptions<
CheckHomographyIsValidMutation,
CheckHomographyIsValidMutationVariables
>;
export const GetDeployedConfigDocument = gql` export const GetDeployedConfigDocument = gql`
query getDeployedConfig { query getDeployedConfig {
getDeployedConfig { getDeployedConfig {
@@ -4875,6 +5085,92 @@ export type GetShotsWithVideoGqlQueryResult = Apollo.QueryResult<
GetShotsWithVideoGqlQuery, GetShotsWithVideoGqlQuery,
GetShotsWithVideoGqlQueryVariables GetShotsWithVideoGqlQueryVariables
>; >;
export const GetShotsWithJustIdsDocument = gql`
query GetShotsWithJustIds(
$filterInput: FilterInput!
$shotsOrdering: GetShotsOrdering
$limit: Int
) {
getOrderedShots(
filterInput: $filterInput
shotsOrdering: $shotsOrdering
limit: $limit
) {
shots {
id
videoId
}
}
}
`;
/**
* __useGetShotsWithJustIdsQuery__
*
* To run a query within a React component, call `useGetShotsWithJustIdsQuery` and pass it any options that fit your needs.
* When your component renders, `useGetShotsWithJustIdsQuery` 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 } = useGetShotsWithJustIdsQuery({
* variables: {
* filterInput: // value for 'filterInput'
* shotsOrdering: // value for 'shotsOrdering'
* limit: // value for 'limit'
* },
* });
*/
export function useGetShotsWithJustIdsQuery(
baseOptions: Apollo.QueryHookOptions<
GetShotsWithJustIdsQuery,
GetShotsWithJustIdsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useQuery<
GetShotsWithJustIdsQuery,
GetShotsWithJustIdsQueryVariables
>(GetShotsWithJustIdsDocument, options);
}
export function useGetShotsWithJustIdsLazyQuery(
baseOptions?: Apollo.LazyQueryHookOptions<
GetShotsWithJustIdsQuery,
GetShotsWithJustIdsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useLazyQuery<
GetShotsWithJustIdsQuery,
GetShotsWithJustIdsQueryVariables
>(GetShotsWithJustIdsDocument, options);
}
export function useGetShotsWithJustIdsSuspenseQuery(
baseOptions?: Apollo.SuspenseQueryHookOptions<
GetShotsWithJustIdsQuery,
GetShotsWithJustIdsQueryVariables
>,
) {
const options = { ...defaultOptions, ...baseOptions };
return Apollo.useSuspenseQuery<
GetShotsWithJustIdsQuery,
GetShotsWithJustIdsQueryVariables
>(GetShotsWithJustIdsDocument, options);
}
export type GetShotsWithJustIdsQueryHookResult = ReturnType<
typeof useGetShotsWithJustIdsQuery
>;
export type GetShotsWithJustIdsLazyQueryHookResult = ReturnType<
typeof useGetShotsWithJustIdsLazyQuery
>;
export type GetShotsWithJustIdsSuspenseQueryHookResult = ReturnType<
typeof useGetShotsWithJustIdsSuspenseQuery
>;
export type GetShotsWithJustIdsQueryResult = Apollo.QueryResult<
GetShotsWithJustIdsQuery,
GetShotsWithJustIdsQueryVariables
>;
export const GetShotsWithMetadataFilterResultDocument = gql` export const GetShotsWithMetadataFilterResultDocument = gql`
query GetShotsWithMetadataFilterResult( query GetShotsWithMetadataFilterResult(
$filterInput: FilterInput! $filterInput: FilterInput!

View File

@@ -0,0 +1,69 @@
mutation checkHomographyIsValid($b64Image: String!, $videoId: Int!) {
checkHomographyIsValid(b64Image: $b64Image, videoId: $videoId) {
frameIndex
crop {
left
top
width
height
}
pockets {
left
top
width
height
}
sourcePoints {
topLeft {
x
y
}
topSide {
x
y
}
topRight {
x
y
}
bottomLeft {
x
y
}
bottomSide {
x
y
}
bottomRight {
x
y
}
}
destPoints {
topLeft {
x
y
}
topSide {
x
y
}
topRight {
x
y
}
bottomLeft {
x
y
}
bottomSide {
x
y
}
bottomRight {
x
y
}
}
}
}

View File

@@ -69,6 +69,15 @@ fragment VideoCardFields on VideoGQL {
} }
name name
} }
currentProcessing {
errors {
message
}
status
statuses {
status
}
}
} }
query GetVideoFeed( query GetVideoFeed(

View File

@@ -40,6 +40,7 @@ mutation UpdateShotAnnotations(
} }
} }
## Should be deprecated
query GetShotsWithVideoGql( query GetShotsWithVideoGql(
$filterInput: FilterInput! $filterInput: FilterInput!
$shotsOrdering: GetShotsOrdering $shotsOrdering: GetShotsOrdering
@@ -61,6 +62,23 @@ query GetShotsWithVideoGql(
} }
} }
query GetShotsWithJustIds(
$filterInput: FilterInput!
$shotsOrdering: GetShotsOrdering
$limit: Int
) {
getOrderedShots(
filterInput: $filterInput
shotsOrdering: $shotsOrdering
limit: $limit
) {
shots {
id
videoId
}
}
}
## Reserved for playlists (which are created from a filter) ## Reserved for playlists (which are created from a filter)
query GetShotsWithMetadataFilterResult( query GetShotsWithMetadataFilterResult(
$filterInput: FilterInput! $filterInput: FilterInput!

View File

@@ -668,6 +668,7 @@ type Mutation {
editUser(input: EditUserInputGQL!): UserGQL! editUser(input: EditUserInputGQL!): UserGQL!
followUser(followedUserId: Int!): UserGQL! followUser(followedUserId: Int!): UserGQL!
unfollowUser(followedUserId: Int!): UserGQL! unfollowUser(followedUserId: Int!): UserGQL!
checkHomographyIsValid(b64Image: String!, videoId: Int!): HomographyInfoGQL
createUploadStream( createUploadStream(
videoMetadata: VideoMetadataInput! videoMetadata: VideoMetadataInput!
): CreateUploadStreamReturn! ): CreateUploadStreamReturn!