diff --git a/src/index.tsx b/src/index.tsx index 9679d75..e47766c 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -2432,6 +2432,7 @@ export type MutationCreateSubscriptionArgs = { }; export type MutationCreateUploadStreamArgs = { + expectedDurationSeconds?: InputMaybe; videoMetadata: VideoMetadataInput; }; @@ -2716,6 +2717,7 @@ export type Query = { getMedals: RequestedMedalsGql; getOrderedShots: GetShotsResult; getPlayTime: UserPlayTimeGql; + getQuotaStatus: QuotaStatusGql; getRuns: GetRunsResult; getShotAnnotationTypes: Array; getShots: Array; @@ -2905,6 +2907,18 @@ export type QueryWaitForArgs = { duration: Scalars["Float"]["input"]; }; +export type QuotaStatusGql = { + __typename?: "QuotaStatusGQL"; + canUpload: Scalars["Boolean"]["output"]; + durationLimitSeconds?: Maybe; + durationRemainingSeconds?: Maybe; + durationUsedSeconds: Scalars["Float"]["output"]; + maxVideoDurationSeconds?: Maybe; + periodEnd: Scalars["DateTime"]["output"]; + periodStart: Scalars["DateTime"]["output"]; + tierName: Scalars["String"]["output"]; +}; + export enum ReactionEnum { Bullseye = "BULLSEYE", Heart = "HEART", @@ -6233,6 +6247,7 @@ export type HomographyInfoFragment = { export type CreateUploadStreamMutationVariables = Exact<{ videoMetadataInput: VideoMetadataInput; + expectedDurationSeconds?: InputMaybe; }>; export type CreateUploadStreamMutation = { @@ -13199,8 +13214,14 @@ export type FindPrerecordTableLayoutMutationOptions = FindPrerecordTableLayoutMutationVariables >; export const CreateUploadStreamDocument = gql` - mutation CreateUploadStream($videoMetadataInput: VideoMetadataInput!) { - createUploadStream(videoMetadata: $videoMetadataInput) { + mutation CreateUploadStream( + $videoMetadataInput: VideoMetadataInput! + $expectedDurationSeconds: Float + ) { + createUploadStream( + videoMetadata: $videoMetadataInput + expectedDurationSeconds: $expectedDurationSeconds + ) { videoId } } @@ -13224,6 +13245,7 @@ export type CreateUploadStreamMutationFn = Apollo.MutationFunction< * const [createUploadStreamMutation, { data, loading, error }] = useCreateUploadStreamMutation({ * variables: { * videoMetadataInput: // value for 'videoMetadataInput' + * expectedDurationSeconds: // value for 'expectedDurationSeconds' * }, * }); */ diff --git a/src/operations/video_upload.gql b/src/operations/video_upload.gql index 6c14bf0..e705d87 100644 --- a/src/operations/video_upload.gql +++ b/src/operations/video_upload.gql @@ -1,5 +1,11 @@ -mutation CreateUploadStream($videoMetadataInput: VideoMetadataInput!) { - createUploadStream(videoMetadata: $videoMetadataInput) { +mutation CreateUploadStream( + $videoMetadataInput: VideoMetadataInput! + $expectedDurationSeconds: Float +) { + createUploadStream( + videoMetadata: $videoMetadataInput + expectedDurationSeconds: $expectedDurationSeconds + ) { videoId } } diff --git a/src/schema.gql b/src/schema.gql index 33a9be9..97d29f5 100644 --- a/src/schema.gql +++ b/src/schema.gql @@ -97,6 +97,7 @@ type Query { ): UserRelationshipsResult! getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL! getUserSubscriptionStatus: UserSubscriptionStatusGQL! + getQuotaStatus: QuotaStatusGQL! getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL! getUserVideos( userId: Int = null @@ -977,6 +978,17 @@ enum StripeSubscriptionStatusEnum { PAUSED } +type QuotaStatusGQL { + tierName: String! + periodStart: DateTime! + periodEnd: DateTime! + durationUsedSeconds: Float! + durationLimitSeconds: Int + maxVideoDurationSeconds: Int + durationRemainingSeconds: Float + canUpload: Boolean! +} + type UserPlayTimeGQL { totalSeconds: Float! } @@ -1082,6 +1094,7 @@ type Mutation { findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL createUploadStream( videoMetadata: VideoMetadataInput! + expectedDurationSeconds: Float = null ): CreateUploadStreamReturn! getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn! getHlsInitUploadLink(videoId: Int!): GetUploadLinkReturn!