Compare commits

...

7 Commits

Author SHA1 Message Date
c4a2e184fb Merge pull request 'Add lowestUnuploadedSegmentIndex to operation' (#230) from loewy/add-lowest-unuploaded-segment-index-to-stream-monitoring-details into master
Reviewed-on: #230
2026-03-20 23:39:50 +00:00
f14cf3b255 add lowestUnuploadedSegmentIndex to operation
All checks were successful
Tests / Tests (pull_request) Successful in 11s
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
9abb533be8 Add video processing labels to generated schema
All checks were successful
Tests / Tests (pull_request) Successful in 11s
2026-03-12 01:11:50 -07:00
4 changed files with 52 additions and 4 deletions

View File

@@ -2432,6 +2432,7 @@ export type MutationCreateSubscriptionArgs = {
};
export type MutationCreateUploadStreamArgs = {
expectedDurationSeconds?: InputMaybe<Scalars["Float"]["input"]>;
videoMetadata: VideoMetadataInput;
};
@@ -2716,6 +2717,7 @@ export type Query = {
getMedals: RequestedMedalsGql;
getOrderedShots: GetShotsResult;
getPlayTime: UserPlayTimeGql;
getQuotaStatus: QuotaStatusGql;
getRuns: GetRunsResult;
getShotAnnotationTypes: Array<ShotAnnotationTypeGql>;
getShots: Array<ShotGql>;
@@ -2905,6 +2907,18 @@ export type QueryWaitForArgs = {
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 {
Bullseye = "BULLSEYE",
Heart = "HEART",
@@ -3492,6 +3506,8 @@ export type VideoProcessingGql = {
errors: Array<VideoProcessingErrorGql>;
framesProcessed?: Maybe<Scalars["Int"]["output"]>;
id: Scalars["Int"]["output"];
labels: Array<Scalars["String"]["output"]>;
parentProcessingId?: Maybe<Scalars["Int"]["output"]>;
progressPercentage?: Maybe<Scalars["Float"]["output"]>;
status: ProcessingStatusEnum;
statuses: Array<VideoProcessingStatusGql>;
@@ -5671,6 +5687,7 @@ export type GetStreamMonitoringDetailsQuery = {
__typename?: "UploadStreamGQL";
id: string;
linksRequested: number;
lowestUnuploadedSegmentIndex: number;
uploadsCompleted: number;
segmentProcessingCursor: number;
isCompleted: boolean;
@@ -6233,6 +6250,7 @@ export type HomographyInfoFragment = {
export type CreateUploadStreamMutationVariables = Exact<{
videoMetadataInput: VideoMetadataInput;
expectedDurationSeconds?: InputMaybe<Scalars["Float"]["input"]>;
}>;
export type CreateUploadStreamMutation = {
@@ -11952,6 +11970,7 @@ export const GetStreamMonitoringDetailsDocument = gql`
stream {
id
linksRequested
lowestUnuploadedSegmentIndex
uploadsCompleted
segmentProcessingCursor
isCompleted
@@ -13199,8 +13218,14 @@ export type FindPrerecordTableLayoutMutationOptions =
FindPrerecordTableLayoutMutationVariables
>;
export const CreateUploadStreamDocument = gql`
mutation CreateUploadStream($videoMetadataInput: VideoMetadataInput!) {
createUploadStream(videoMetadata: $videoMetadataInput) {
mutation CreateUploadStream(
$videoMetadataInput: VideoMetadataInput!
$expectedDurationSeconds: Float = null
) {
createUploadStream(
videoMetadata: $videoMetadataInput
expectedDurationSeconds: $expectedDurationSeconds
) {
videoId
}
}
@@ -13224,6 +13249,7 @@ export type CreateUploadStreamMutationFn = Apollo.MutationFunction<
* const [createUploadStreamMutation, { data, loading, error }] = useCreateUploadStreamMutation({
* variables: {
* videoMetadataInput: // value for 'videoMetadataInput'
* expectedDurationSeconds: // value for 'expectedDurationSeconds'
* },
* });
*/

View File

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

View File

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

View File

@@ -97,6 +97,7 @@ type Query {
): UserRelationshipsResult!
getAvailableSubscriptionOptions: StripeSubscriptionOptionsGQL!
getUserSubscriptionStatus: UserSubscriptionStatusGQL!
getQuotaStatus: QuotaStatusGQL!
getPlayTime(userId: Int!, filters: VideoFilterInput = null): UserPlayTimeGQL!
getUserVideos(
userId: Int = null
@@ -605,6 +606,8 @@ type IntPoint2D {
type VideoProcessingGQL {
id: Int!
parentProcessingId: Int
labels: [String!]!
errors: [VideoProcessingErrorGQL!]!
status: ProcessingStatusEnum!
statuses: [VideoProcessingStatusGQL!]!
@@ -977,6 +980,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 +1096,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!