Compare commits

...

5 Commits

Author SHA1 Message Date
f14cf3b255 add lowestUnuploadedSegmentIndex to operation 2026-03-18 16:43:31 -07:00
c46776d417 Merge pull request 'Upload Quota GQL' (#227) from loewy/upload-quota-limit-gql into master
Reviewed-on: #227
2026-03-18 21:33:26 +00:00
6ab5286a49 add expected durations to operation
All checks were successful
Tests / Tests (pull_request) Successful in 11s
2026-03-17 17:22:19 -07:00
cd6a33bfed getQuotaStatus, expectedDurationSeconds in createUploadStream
All checks were successful
Tests / Tests (pull_request) Successful in 13s
2026-03-17 11:21:42 -07:00
07bb45942e Merge pull request 'Add video processing labels to generated schema' (#228) from processing-clone-labels into master
Reviewed-on: #228
2026-03-17 18:08:08 +00:00
4 changed files with 48 additions and 4 deletions

View File

@@ -2432,6 +2432,7 @@ export type MutationCreateSubscriptionArgs = {
}; };
export type MutationCreateUploadStreamArgs = { export type MutationCreateUploadStreamArgs = {
expectedDurationSeconds?: InputMaybe<Scalars["Float"]["input"]>;
videoMetadata: VideoMetadataInput; videoMetadata: VideoMetadataInput;
}; };
@@ -2716,6 +2717,7 @@ export type Query = {
getMedals: RequestedMedalsGql; getMedals: RequestedMedalsGql;
getOrderedShots: GetShotsResult; getOrderedShots: GetShotsResult;
getPlayTime: UserPlayTimeGql; getPlayTime: UserPlayTimeGql;
getQuotaStatus: QuotaStatusGql;
getRuns: GetRunsResult; getRuns: GetRunsResult;
getShotAnnotationTypes: Array<ShotAnnotationTypeGql>; getShotAnnotationTypes: Array<ShotAnnotationTypeGql>;
getShots: Array<ShotGql>; getShots: Array<ShotGql>;
@@ -2905,6 +2907,18 @@ export type QueryWaitForArgs = {
duration: Scalars["Float"]["input"]; duration: Scalars["Float"]["input"];
}; };
export type QuotaStatusGql = {
__typename?: "QuotaStatusGQL";
canUpload: Scalars["Boolean"]["output"];
durationLimitSeconds?: Maybe<Scalars["Int"]["output"]>;
durationRemainingSeconds?: Maybe<Scalars["Float"]["output"]>;
durationUsedSeconds: Scalars["Float"]["output"];
maxVideoDurationSeconds?: Maybe<Scalars["Int"]["output"]>;
periodEnd: Scalars["DateTime"]["output"];
periodStart: Scalars["DateTime"]["output"];
tierName: Scalars["String"]["output"];
};
export enum ReactionEnum { export enum ReactionEnum {
Bullseye = "BULLSEYE", Bullseye = "BULLSEYE",
Heart = "HEART", Heart = "HEART",
@@ -5673,6 +5687,7 @@ export type GetStreamMonitoringDetailsQuery = {
__typename?: "UploadStreamGQL"; __typename?: "UploadStreamGQL";
id: string; id: string;
linksRequested: number; linksRequested: number;
lowestUnuploadedSegmentIndex: number;
uploadsCompleted: number; uploadsCompleted: number;
segmentProcessingCursor: number; segmentProcessingCursor: number;
isCompleted: boolean; isCompleted: boolean;
@@ -6235,6 +6250,7 @@ export type HomographyInfoFragment = {
export type CreateUploadStreamMutationVariables = Exact<{ export type CreateUploadStreamMutationVariables = Exact<{
videoMetadataInput: VideoMetadataInput; videoMetadataInput: VideoMetadataInput;
expectedDurationSeconds?: InputMaybe<Scalars["Float"]["input"]>;
}>; }>;
export type CreateUploadStreamMutation = { export type CreateUploadStreamMutation = {
@@ -11954,6 +11970,7 @@ export const GetStreamMonitoringDetailsDocument = gql`
stream { stream {
id id
linksRequested linksRequested
lowestUnuploadedSegmentIndex
uploadsCompleted uploadsCompleted
segmentProcessingCursor segmentProcessingCursor
isCompleted isCompleted
@@ -13201,8 +13218,14 @@ export type FindPrerecordTableLayoutMutationOptions =
FindPrerecordTableLayoutMutationVariables FindPrerecordTableLayoutMutationVariables
>; >;
export const CreateUploadStreamDocument = gql` export const CreateUploadStreamDocument = gql`
mutation CreateUploadStream($videoMetadataInput: VideoMetadataInput!) { mutation CreateUploadStream(
createUploadStream(videoMetadata: $videoMetadataInput) { $videoMetadataInput: VideoMetadataInput!
$expectedDurationSeconds: Float = null
) {
createUploadStream(
videoMetadata: $videoMetadataInput
expectedDurationSeconds: $expectedDurationSeconds
) {
videoId videoId
} }
} }
@@ -13226,6 +13249,7 @@ export type CreateUploadStreamMutationFn = Apollo.MutationFunction<
* const [createUploadStreamMutation, { data, loading, error }] = useCreateUploadStreamMutation({ * const [createUploadStreamMutation, { data, loading, error }] = useCreateUploadStreamMutation({
* variables: { * variables: {
* videoMetadataInput: // value for 'videoMetadataInput' * videoMetadataInput: // value for 'videoMetadataInput'
* expectedDurationSeconds: // value for 'expectedDurationSeconds'
* }, * },
* }); * });
*/ */

View File

@@ -10,6 +10,7 @@ query GetStreamMonitoringDetails($videoId: Int!, $debuggingJson: JSON) {
stream { stream {
id id
linksRequested linksRequested
lowestUnuploadedSegmentIndex
uploadsCompleted uploadsCompleted
segmentProcessingCursor segmentProcessingCursor
isCompleted isCompleted

View File

@@ -1,5 +1,11 @@
mutation CreateUploadStream($videoMetadataInput: VideoMetadataInput!) { mutation CreateUploadStream(
createUploadStream(videoMetadata: $videoMetadataInput) { $videoMetadataInput: VideoMetadataInput!
$expectedDurationSeconds: Float = null
) {
createUploadStream(
videoMetadata: $videoMetadataInput
expectedDurationSeconds: $expectedDurationSeconds
) {
videoId videoId
} }
} }

View File

@@ -97,6 +97,7 @@ type Query {
): UserRelationshipsResult! ): UserRelationshipsResult!
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL! getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL!
getUserSubscriptionStatus: UserSubscriptionStatusGQL! getUserSubscriptionStatus: UserSubscriptionStatusGQL!
getQuotaStatus: QuotaStatusGQL!
getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL! getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL!
getUserVideos( getUserVideos(
userId: Int = null userId: Int = null
@@ -979,6 +980,17 @@ enum StripeSubscriptionStatusEnum {
PAUSED PAUSED
} }
type QuotaStatusGQL {
tierName: String!
periodStart: DateTime!
periodEnd: DateTime!
durationUsedSeconds: Float!
durationLimitSeconds: Int
maxVideoDurationSeconds: Int
durationRemainingSeconds: Float
canUpload: Boolean!
}
type UserPlayTimeGQL { type UserPlayTimeGQL {
totalSeconds: Float! totalSeconds: Float!
} }
@@ -1084,6 +1096,7 @@ type Mutation {
findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL findPrerecordTableLayout(b64Image: String!, videoId: Int!): HomographyInfoGQL
createUploadStream( createUploadStream(
videoMetadata: VideoMetadataInput! videoMetadata: VideoMetadataInput!
expectedDurationSeconds: Float = null
): CreateUploadStreamReturn! ): CreateUploadStreamReturn!
getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn! getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn!
getHlsInitUploadLink(videoId: Int!): GetUploadLinkReturn! getHlsInitUploadLink(videoId: Int!): GetUploadLinkReturn!