Video export client operations + myVideoExports list query
RequestVideoExport mutation, VideoExportJob + MyVideoExports queries (with the VideoExportJobFields fragment) for the mobile fire-and-list flow. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
288
src/index.tsx
288
src/index.tsx
@@ -2883,6 +2883,7 @@ export type Query = {
|
|||||||
myChallengeEntries: Array<ChallengeEntry>;
|
myChallengeEntries: Array<ChallengeEntry>;
|
||||||
myChallengeInvitations: Array<ChallengeInvitation>;
|
myChallengeInvitations: Array<ChallengeInvitation>;
|
||||||
myDismissedChallenges: Array<Challenge>;
|
myDismissedChallenges: Array<Challenge>;
|
||||||
|
myVideoExports: Array<VideoExportJobGql>;
|
||||||
notifications: NotificationConnection;
|
notifications: NotificationConnection;
|
||||||
ruleSets: Array<RuleSet>;
|
ruleSets: Array<RuleSet>;
|
||||||
unreadNotificationCount: Scalars["Int"]["output"];
|
unreadNotificationCount: Scalars["Int"]["output"];
|
||||||
@@ -3063,6 +3064,11 @@ export type QueryIsChallengeDismissedArgs = {
|
|||||||
challengeId: Scalars["ID"]["input"];
|
challengeId: Scalars["ID"]["input"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type QueryMyVideoExportsArgs = {
|
||||||
|
limit?: Scalars["Int"]["input"];
|
||||||
|
offset?: Scalars["Int"]["input"];
|
||||||
|
};
|
||||||
|
|
||||||
export type QueryNotificationsArgs = {
|
export type QueryNotificationsArgs = {
|
||||||
filters?: InputMaybe<NotificationFilters>;
|
filters?: InputMaybe<NotificationFilters>;
|
||||||
limit?: Scalars["Int"]["input"];
|
limit?: Scalars["Int"]["input"];
|
||||||
@@ -7060,6 +7066,76 @@ export type HomographyInfoFragment = {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type VideoExportJobFieldsFragment = {
|
||||||
|
__typename?: "VideoExportJobGQL";
|
||||||
|
id: number;
|
||||||
|
videoId: number;
|
||||||
|
mode: VideoExportModeEnum;
|
||||||
|
status: VideoExportStatusEnum;
|
||||||
|
downloadUrl?: string | null;
|
||||||
|
fileSizeBytes?: number | null;
|
||||||
|
expiresAt?: any | null;
|
||||||
|
createdAt?: any | null;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type RequestVideoExportMutationVariables = Exact<{
|
||||||
|
input: RequestVideoExportInput;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type RequestVideoExportMutation = {
|
||||||
|
__typename?: "Mutation";
|
||||||
|
requestVideoExport: {
|
||||||
|
__typename?: "VideoExportJobGQL";
|
||||||
|
id: number;
|
||||||
|
videoId: number;
|
||||||
|
mode: VideoExportModeEnum;
|
||||||
|
status: VideoExportStatusEnum;
|
||||||
|
downloadUrl?: string | null;
|
||||||
|
fileSizeBytes?: number | null;
|
||||||
|
expiresAt?: any | null;
|
||||||
|
createdAt?: any | null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export type VideoExportJobQueryVariables = Exact<{
|
||||||
|
jobId: Scalars["Int"]["input"];
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type VideoExportJobQuery = {
|
||||||
|
__typename?: "Query";
|
||||||
|
videoExportJob?: {
|
||||||
|
__typename?: "VideoExportJobGQL";
|
||||||
|
id: number;
|
||||||
|
videoId: number;
|
||||||
|
mode: VideoExportModeEnum;
|
||||||
|
status: VideoExportStatusEnum;
|
||||||
|
downloadUrl?: string | null;
|
||||||
|
fileSizeBytes?: number | null;
|
||||||
|
expiresAt?: any | null;
|
||||||
|
createdAt?: any | null;
|
||||||
|
} | null;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type MyVideoExportsQueryVariables = Exact<{
|
||||||
|
limit?: InputMaybe<Scalars["Int"]["input"]>;
|
||||||
|
offset?: InputMaybe<Scalars["Int"]["input"]>;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export type MyVideoExportsQuery = {
|
||||||
|
__typename?: "Query";
|
||||||
|
myVideoExports: Array<{
|
||||||
|
__typename?: "VideoExportJobGQL";
|
||||||
|
id: number;
|
||||||
|
videoId: number;
|
||||||
|
mode: VideoExportModeEnum;
|
||||||
|
status: VideoExportStatusEnum;
|
||||||
|
downloadUrl?: string | null;
|
||||||
|
fileSizeBytes?: number | null;
|
||||||
|
expiresAt?: any | null;
|
||||||
|
createdAt?: any | null;
|
||||||
|
}>;
|
||||||
|
};
|
||||||
|
|
||||||
export type CreateUploadStreamMutationVariables = Exact<{
|
export type CreateUploadStreamMutationVariables = Exact<{
|
||||||
videoMetadataInput: VideoMetadataInput;
|
videoMetadataInput: VideoMetadataInput;
|
||||||
expectedDurationSeconds?: InputMaybe<Scalars["Float"]["input"]>;
|
expectedDurationSeconds?: InputMaybe<Scalars["Float"]["input"]>;
|
||||||
@@ -7625,6 +7701,18 @@ export const HomographyInfoFragmentDoc = gql`
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
export const VideoExportJobFieldsFragmentDoc = gql`
|
||||||
|
fragment VideoExportJobFields on VideoExportJobGQL {
|
||||||
|
id
|
||||||
|
videoId
|
||||||
|
mode
|
||||||
|
status
|
||||||
|
downloadUrl
|
||||||
|
fileSizeBytes
|
||||||
|
expiresAt
|
||||||
|
createdAt
|
||||||
|
}
|
||||||
|
`;
|
||||||
export const UploadStreamWithDetailsFragmentDoc = gql`
|
export const UploadStreamWithDetailsFragmentDoc = gql`
|
||||||
fragment UploadStreamWithDetails on VideoGQL {
|
fragment UploadStreamWithDetails on VideoGQL {
|
||||||
id
|
id
|
||||||
@@ -15036,6 +15124,206 @@ export type FindPrerecordTableLayoutMutationOptions =
|
|||||||
FindPrerecordTableLayoutMutation,
|
FindPrerecordTableLayoutMutation,
|
||||||
FindPrerecordTableLayoutMutationVariables
|
FindPrerecordTableLayoutMutationVariables
|
||||||
>;
|
>;
|
||||||
|
export const RequestVideoExportDocument = gql`
|
||||||
|
mutation RequestVideoExport($input: RequestVideoExportInput!) {
|
||||||
|
requestVideoExport(input: $input) {
|
||||||
|
...VideoExportJobFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${VideoExportJobFieldsFragmentDoc}
|
||||||
|
`;
|
||||||
|
export type RequestVideoExportMutationFn = Apollo.MutationFunction<
|
||||||
|
RequestVideoExportMutation,
|
||||||
|
RequestVideoExportMutationVariables
|
||||||
|
>;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __useRequestVideoExportMutation__
|
||||||
|
*
|
||||||
|
* To run a mutation, you first call `useRequestVideoExportMutation` within a React component and pass it any options that fit your needs.
|
||||||
|
* When your component renders, `useRequestVideoExportMutation` 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 [requestVideoExportMutation, { data, loading, error }] = useRequestVideoExportMutation({
|
||||||
|
* variables: {
|
||||||
|
* input: // value for 'input'
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*/
|
||||||
|
export function useRequestVideoExportMutation(
|
||||||
|
baseOptions?: Apollo.MutationHookOptions<
|
||||||
|
RequestVideoExportMutation,
|
||||||
|
RequestVideoExportMutationVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useMutation<
|
||||||
|
RequestVideoExportMutation,
|
||||||
|
RequestVideoExportMutationVariables
|
||||||
|
>(RequestVideoExportDocument, options);
|
||||||
|
}
|
||||||
|
export type RequestVideoExportMutationHookResult = ReturnType<
|
||||||
|
typeof useRequestVideoExportMutation
|
||||||
|
>;
|
||||||
|
export type RequestVideoExportMutationResult =
|
||||||
|
Apollo.MutationResult<RequestVideoExportMutation>;
|
||||||
|
export type RequestVideoExportMutationOptions = Apollo.BaseMutationOptions<
|
||||||
|
RequestVideoExportMutation,
|
||||||
|
RequestVideoExportMutationVariables
|
||||||
|
>;
|
||||||
|
export const VideoExportJobDocument = gql`
|
||||||
|
query VideoExportJob($jobId: Int!) {
|
||||||
|
videoExportJob(jobId: $jobId) {
|
||||||
|
...VideoExportJobFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${VideoExportJobFieldsFragmentDoc}
|
||||||
|
`;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __useVideoExportJobQuery__
|
||||||
|
*
|
||||||
|
* To run a query within a React component, call `useVideoExportJobQuery` and pass it any options that fit your needs.
|
||||||
|
* When your component renders, `useVideoExportJobQuery` 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 } = useVideoExportJobQuery({
|
||||||
|
* variables: {
|
||||||
|
* jobId: // value for 'jobId'
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*/
|
||||||
|
export function useVideoExportJobQuery(
|
||||||
|
baseOptions: Apollo.QueryHookOptions<
|
||||||
|
VideoExportJobQuery,
|
||||||
|
VideoExportJobQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useQuery<VideoExportJobQuery, VideoExportJobQueryVariables>(
|
||||||
|
VideoExportJobDocument,
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export function useVideoExportJobLazyQuery(
|
||||||
|
baseOptions?: Apollo.LazyQueryHookOptions<
|
||||||
|
VideoExportJobQuery,
|
||||||
|
VideoExportJobQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useLazyQuery<VideoExportJobQuery, VideoExportJobQueryVariables>(
|
||||||
|
VideoExportJobDocument,
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export function useVideoExportJobSuspenseQuery(
|
||||||
|
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
||||||
|
VideoExportJobQuery,
|
||||||
|
VideoExportJobQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useSuspenseQuery<
|
||||||
|
VideoExportJobQuery,
|
||||||
|
VideoExportJobQueryVariables
|
||||||
|
>(VideoExportJobDocument, options);
|
||||||
|
}
|
||||||
|
export type VideoExportJobQueryHookResult = ReturnType<
|
||||||
|
typeof useVideoExportJobQuery
|
||||||
|
>;
|
||||||
|
export type VideoExportJobLazyQueryHookResult = ReturnType<
|
||||||
|
typeof useVideoExportJobLazyQuery
|
||||||
|
>;
|
||||||
|
export type VideoExportJobSuspenseQueryHookResult = ReturnType<
|
||||||
|
typeof useVideoExportJobSuspenseQuery
|
||||||
|
>;
|
||||||
|
export type VideoExportJobQueryResult = Apollo.QueryResult<
|
||||||
|
VideoExportJobQuery,
|
||||||
|
VideoExportJobQueryVariables
|
||||||
|
>;
|
||||||
|
export const MyVideoExportsDocument = gql`
|
||||||
|
query MyVideoExports($limit: Int = 30, $offset: Int = 0) {
|
||||||
|
myVideoExports(limit: $limit, offset: $offset) {
|
||||||
|
...VideoExportJobFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${VideoExportJobFieldsFragmentDoc}
|
||||||
|
`;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* __useMyVideoExportsQuery__
|
||||||
|
*
|
||||||
|
* To run a query within a React component, call `useMyVideoExportsQuery` and pass it any options that fit your needs.
|
||||||
|
* When your component renders, `useMyVideoExportsQuery` 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 } = useMyVideoExportsQuery({
|
||||||
|
* variables: {
|
||||||
|
* limit: // value for 'limit'
|
||||||
|
* offset: // value for 'offset'
|
||||||
|
* },
|
||||||
|
* });
|
||||||
|
*/
|
||||||
|
export function useMyVideoExportsQuery(
|
||||||
|
baseOptions?: Apollo.QueryHookOptions<
|
||||||
|
MyVideoExportsQuery,
|
||||||
|
MyVideoExportsQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useQuery<MyVideoExportsQuery, MyVideoExportsQueryVariables>(
|
||||||
|
MyVideoExportsDocument,
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export function useMyVideoExportsLazyQuery(
|
||||||
|
baseOptions?: Apollo.LazyQueryHookOptions<
|
||||||
|
MyVideoExportsQuery,
|
||||||
|
MyVideoExportsQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useLazyQuery<MyVideoExportsQuery, MyVideoExportsQueryVariables>(
|
||||||
|
MyVideoExportsDocument,
|
||||||
|
options,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
export function useMyVideoExportsSuspenseQuery(
|
||||||
|
baseOptions?: Apollo.SuspenseQueryHookOptions<
|
||||||
|
MyVideoExportsQuery,
|
||||||
|
MyVideoExportsQueryVariables
|
||||||
|
>,
|
||||||
|
) {
|
||||||
|
const options = { ...defaultOptions, ...baseOptions };
|
||||||
|
return Apollo.useSuspenseQuery<
|
||||||
|
MyVideoExportsQuery,
|
||||||
|
MyVideoExportsQueryVariables
|
||||||
|
>(MyVideoExportsDocument, options);
|
||||||
|
}
|
||||||
|
export type MyVideoExportsQueryHookResult = ReturnType<
|
||||||
|
typeof useMyVideoExportsQuery
|
||||||
|
>;
|
||||||
|
export type MyVideoExportsLazyQueryHookResult = ReturnType<
|
||||||
|
typeof useMyVideoExportsLazyQuery
|
||||||
|
>;
|
||||||
|
export type MyVideoExportsSuspenseQueryHookResult = ReturnType<
|
||||||
|
typeof useMyVideoExportsSuspenseQuery
|
||||||
|
>;
|
||||||
|
export type MyVideoExportsQueryResult = Apollo.QueryResult<
|
||||||
|
MyVideoExportsQuery,
|
||||||
|
MyVideoExportsQueryVariables
|
||||||
|
>;
|
||||||
export const CreateUploadStreamDocument = gql`
|
export const CreateUploadStreamDocument = gql`
|
||||||
mutation CreateUploadStream(
|
mutation CreateUploadStream(
|
||||||
$videoMetadataInput: VideoMetadataInput!
|
$videoMetadataInput: VideoMetadataInput!
|
||||||
|
|||||||
28
src/operations/video_export.gql
Normal file
28
src/operations/video_export.gql
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
fragment VideoExportJobFields on VideoExportJobGQL {
|
||||||
|
id
|
||||||
|
videoId
|
||||||
|
mode
|
||||||
|
status
|
||||||
|
downloadUrl
|
||||||
|
fileSizeBytes
|
||||||
|
expiresAt
|
||||||
|
createdAt
|
||||||
|
}
|
||||||
|
|
||||||
|
mutation RequestVideoExport($input: RequestVideoExportInput!) {
|
||||||
|
requestVideoExport(input: $input) {
|
||||||
|
...VideoExportJobFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query VideoExportJob($jobId: Int!) {
|
||||||
|
videoExportJob(jobId: $jobId) {
|
||||||
|
...VideoExportJobFields
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query MyVideoExports($limit: Int = 30, $offset: Int = 0) {
|
||||||
|
myVideoExports(limit: $limit, offset: $offset) {
|
||||||
|
...VideoExportJobFields
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -122,6 +122,7 @@ type Query {
|
|||||||
getUserTags(includeRetiredTags: Boolean = false): [TagGQL!]!
|
getUserTags(includeRetiredTags: Boolean = false): [TagGQL!]!
|
||||||
getGameTypeTagMetrics(input: GameTypeTagMetricsInput!): [GameTypeTagMetric!]!
|
getGameTypeTagMetrics(input: GameTypeTagMetricsInput!): [GameTypeTagMetric!]!
|
||||||
videoExportJob(jobId: Int!): VideoExportJobGQL
|
videoExportJob(jobId: Int!): VideoExportJobGQL
|
||||||
|
myVideoExports(limit: Int! = 30, offset: Int! = 0): [VideoExportJobGQL!]!
|
||||||
getVideo(videoId: Int!, debuggingJson: JSON = null): VideoGQL!
|
getVideo(videoId: Int!, debuggingJson: JSON = null): VideoGQL!
|
||||||
getVideos(videoIds: [Int!]!): [VideoGQL!]!
|
getVideos(videoIds: [Int!]!): [VideoGQL!]!
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user