Compare commits

..

5 Commits

Author SHA1 Message Date
dfb0e02630 Add manual entitlement GraphQL schema fields
All checks were successful
Tests / Tests (pull_request) Successful in 11s
2026-03-22 11:23:11 -07:00
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
4 changed files with 63 additions and 280 deletions

View File

@@ -224,14 +224,6 @@ export type CreateBucketSetInput = {
keyName: Scalars["String"]["input"];
};
export type CreateGroundTruthShotInputGql = {
endFrame: Scalars["Int"]["input"];
make?: InputMaybe<Scalars["Boolean"]["input"]>;
notes?: InputMaybe<Scalars["String"]["input"]>;
processingId: Scalars["Int"]["input"];
startFrame: Scalars["Int"]["input"];
};
export type CreateSubscriptionResultGql = {
__typename?: "CreateSubscriptionResultGQL";
checkoutUrl: Scalars["String"]["output"];
@@ -277,11 +269,6 @@ export type DatetimeRangeAggregationInput = {
startDatetime?: InputMaybe<Scalars["DateTime"]["input"]>;
};
export type DeleteGroundTruthShotReturn = {
__typename?: "DeleteGroundTruthShotReturn";
deletedShotId: Scalars["Int"]["output"];
};
export type DeployedConfigGql = {
__typename?: "DeployedConfigGQL";
allowNewUsers: Scalars["Boolean"]["output"];
@@ -321,17 +308,21 @@ export type EditUserInputGql = {
export type EditableShotFieldInputGql = {
backcut?: InputMaybe<Scalars["Boolean"]["input"]>;
excludeFromStats?: InputMaybe<Scalars["Boolean"]["input"]>;
intendedBallId?: InputMaybe<Scalars["Int"]["input"]>;
intendedPocketId?: InputMaybe<PocketIdentifier>;
intendedPocketType?: InputMaybe<PocketEnum>;
make?: InputMaybe<Scalars["Boolean"]["input"]>;
notes?: InputMaybe<Scalars["String"]["input"]>;
pathMetadataIndex?: InputMaybe<Scalars["Int"]["input"]>;
shotDirection?: InputMaybe<ShotDirectionEnum>;
spinType?: InputMaybe<SpinTypeEnum>;
targetPocketAngleDirection?: InputMaybe<ShotDirectionEnum>;
};
export enum EntitlementSourceTypeEnum {
Admin = "ADMIN",
AlphaLegacy = "ALPHA_LEGACY",
Manual = "MANUAL",
Stripe = "STRIPE",
}
export type EnumAggregation = {
feature: Scalars["String"]["input"];
};
@@ -367,7 +358,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -412,7 +402,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -457,7 +446,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -502,7 +490,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -547,7 +534,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -592,7 +578,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -637,7 +622,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -682,7 +666,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -727,7 +710,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -772,7 +754,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -817,7 +798,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -862,7 +842,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -907,7 +886,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -952,7 +930,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -997,7 +974,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1042,7 +1018,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1087,7 +1062,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1132,7 +1106,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1177,7 +1150,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1222,7 +1194,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1267,7 +1238,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1312,7 +1282,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1357,7 +1326,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1402,7 +1370,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1447,7 +1414,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1492,7 +1458,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1537,7 +1502,6 @@ export type FilterInput =
missAngleInDegrees: FloatRangeFilter;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1582,7 +1546,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter: FilterInput;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1627,7 +1590,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters: Array<FilterInput>;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1672,52 +1634,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId: Array<Scalars["Int"]["input"]>;
runId?: never;
runLength?: never;
shotDirection?: never;
spinType?: never;
tableSize?: never;
tags?: never;
targetPocketAngle?: never;
targetPocketAngleDirection?: never;
targetPocketDistance?: never;
totalDistance?: never;
userId?: never;
username?: never;
videoId?: never;
}
| {
andFilters?: never;
annotations?: never;
backcut?: never;
bankAngle?: never;
bankDistance?: never;
createdAt?: never;
cueAngleAfterObject?: never;
cueBallSpeed?: never;
cueObjectAngle?: never;
cueObjectDistance?: never;
cueSpeedAfterObject?: never;
difficulty?: never;
falsePositiveScore?: never;
fargoRating?: never;
intendedPocketType?: never;
isBreakHeuristic?: never;
isDirect?: never;
isLeft?: never;
isLeftMiss?: never;
isRight?: never;
isRightMiss?: never;
isStraight?: never;
kickAngle?: never;
kickDistance?: never;
make?: never;
marginOfErrorInDegrees?: never;
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId: Array<Scalars["Int"]["input"]>;
runLength?: never;
shotDirection?: never;
@@ -1762,7 +1678,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength: FloatRangeFilter;
shotDirection?: never;
@@ -1807,7 +1722,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection: Array<ShotDirectionEnum>;
@@ -1852,7 +1766,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1897,7 +1810,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1942,7 +1854,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -1987,7 +1898,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -2032,7 +1942,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -2077,7 +1986,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -2122,7 +2030,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -2167,7 +2074,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -2212,7 +2118,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -2257,7 +2162,6 @@ export type FilterInput =
missAngleInDegrees?: never;
notFilter?: never;
orFilters?: never;
processingId?: never;
runId?: never;
runLength?: never;
shotDirection?: never;
@@ -2449,12 +2353,10 @@ export type Mutation = {
commentOnVideo: Scalars["Boolean"]["output"];
createBucketSet: BucketSetGql;
createChallenge: Challenge;
createGroundTruthShot: ShotGql;
createRuleSet: RuleSet;
createSubscription: CreateSubscriptionResultGql;
createUploadStream: CreateUploadStreamReturn;
deleteComment: Scalars["Boolean"]["output"];
deleteGroundTruthShot: DeleteGroundTruthShotReturn;
deleteNotification: Scalars["Boolean"]["output"];
deleteTags: Scalars["Boolean"]["output"];
deleteUser: Scalars["Boolean"]["output"];
@@ -2469,28 +2371,26 @@ export type Mutation = {
findPrerecordTableLayout?: Maybe<HomographyInfoGql>;
followUser: UserGql;
getHlsInitUploadLink: GetUploadLinkReturn;
getOrCreateGroundTruthProcessing: VideoProcessingGql;
getProfileImageUploadLink: GetProfileUploadLinkReturn;
getUploadLink: GetUploadLinkReturn;
grantManualEntitlement: UserSubscriptionStatusGql;
inviteUsersToChallenge: Array<ChallengeInvitation>;
markAllNotificationsAsRead: Scalars["Boolean"]["output"];
markNotificationAsRead: Scalars["Boolean"]["output"];
markNotificationsAsRead: Scalars["Boolean"]["output"];
promoteGroundTruthProcessing: VideoProcessingGql;
reactToVideo: Scalars["Boolean"]["output"];
recalculateChallengeEntry: ChallengeEntry;
reportContent: Scalars["Boolean"]["output"];
respondToChallengeInvitation: ChallengeInvitation;
retireTags: Scalars["Boolean"]["output"];
revokeManualEntitlement: UserSubscriptionStatusGql;
setLoggerLevel: Scalars["Boolean"]["output"];
setSegmentDuration: Scalars["Boolean"]["output"];
splitGroundTruthShot: SplitGroundTruthShotReturn;
startChallenge: ChallengeEntry;
submitCancellationFeedback: Scalars["Boolean"]["output"];
submitChallengeEntry: ChallengeEntry;
undismissChallenge: Scalars["Boolean"]["output"];
unfollowUser: UserGql;
updateGroundTruthShotFrameRange: ShotGql;
updateShotAnnotations: UpdateShotAnnotationReturn;
};
@@ -2531,10 +2431,6 @@ export type MutationCreateChallengeArgs = {
startDate: Scalars["DateTime"]["input"];
};
export type MutationCreateGroundTruthShotArgs = {
input: CreateGroundTruthShotInputGql;
};
export type MutationCreateRuleSetArgs = {
description?: InputMaybe<Scalars["String"]["input"]>;
name: Scalars["String"]["input"];
@@ -2554,10 +2450,6 @@ export type MutationDeleteCommentArgs = {
videoId: Scalars["Int"]["input"];
};
export type MutationDeleteGroundTruthShotArgs = {
shotId: Scalars["Int"]["input"];
};
export type MutationDeleteNotificationArgs = {
notificationId: Scalars["Int"]["input"];
};
@@ -2612,11 +2504,6 @@ export type MutationGetHlsInitUploadLinkArgs = {
videoId: Scalars["Int"]["input"];
};
export type MutationGetOrCreateGroundTruthProcessingArgs = {
sourceProcessingId?: InputMaybe<Scalars["Int"]["input"]>;
videoId: Scalars["Int"]["input"];
};
export type MutationGetProfileImageUploadLinkArgs = {
fileExt?: InputMaybe<Scalars["String"]["input"]>;
};
@@ -2626,6 +2513,14 @@ export type MutationGetUploadLinkArgs = {
videoId: Scalars["Int"]["input"];
};
export type MutationGrantManualEntitlementArgs = {
endsAt?: InputMaybe<Scalars["DateTime"]["input"]>;
reason?: InputMaybe<Scalars["String"]["input"]>;
startsAt?: InputMaybe<Scalars["DateTime"]["input"]>;
tierName?: Scalars["String"]["input"];
userId: Scalars["Int"]["input"];
};
export type MutationInviteUsersToChallengeArgs = {
challengeId: Scalars["ID"]["input"];
userIds: Array<Scalars["ID"]["input"]>;
@@ -2639,10 +2534,6 @@ export type MutationMarkNotificationsAsReadArgs = {
notificationIds: Array<Scalars["Int"]["input"]>;
};
export type MutationPromoteGroundTruthProcessingArgs = {
processingId: Scalars["Int"]["input"];
};
export type MutationReactToVideoArgs = {
reaction?: InputMaybe<ReactionEnum>;
videoId: Scalars["Int"]["input"];
@@ -2667,6 +2558,10 @@ export type MutationRetireTagsArgs = {
tagIds: Array<Scalars["Int"]["input"]>;
};
export type MutationRevokeManualEntitlementArgs = {
userId: Scalars["Int"]["input"];
};
export type MutationSetLoggerLevelArgs = {
level: Scalars["String"]["input"];
path: Scalars["String"]["input"];
@@ -2678,12 +2573,6 @@ export type MutationSetSegmentDurationArgs = {
videoId: Scalars["Int"]["input"];
};
export type MutationSplitGroundTruthShotArgs = {
notes?: InputMaybe<Scalars["String"]["input"]>;
shotId: Scalars["Int"]["input"];
splitFrame: Scalars["Int"]["input"];
};
export type MutationStartChallengeArgs = {
challengeId: Scalars["ID"]["input"];
};
@@ -2707,13 +2596,6 @@ export type MutationUnfollowUserArgs = {
followedUserId: Scalars["Int"]["input"];
};
export type MutationUpdateGroundTruthShotFrameRangeArgs = {
endFrame?: InputMaybe<Scalars["Int"]["input"]>;
notes?: InputMaybe<Scalars["String"]["input"]>;
shotId: Scalars["Int"]["input"];
startFrame?: InputMaybe<Scalars["Int"]["input"]>;
};
export type MutationUpdateShotAnnotationsArgs = {
annotations: Array<UpdateAnnotationInputGql>;
shotId: Scalars["Int"]["input"];
@@ -2841,7 +2723,6 @@ export enum ProcessingStatusEnum {
export type Query = {
__typename?: "Query";
assessVideoProcessing: VideoProcessingAssessmentGql;
challenge?: Maybe<Challenge>;
challengeLeaderboard: Array<ChallengeEntry>;
challenges: Array<Challenge>;
@@ -2873,7 +2754,6 @@ export type Query = {
getUsersMatching: Array<UserGql>;
getVideo: VideoGql;
getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>;
getVideoProcessings: Array<VideoProcessingGql>;
getVideos: Array<VideoGql>;
isChallengeDismissed: Scalars["Boolean"]["output"];
myChallengeEntries: Array<ChallengeEntry>;
@@ -2885,11 +2765,6 @@ export type Query = {
waitFor: Scalars["Float"]["output"];
};
export type QueryAssessVideoProcessingArgs = {
groundTruthProcessingId?: InputMaybe<Scalars["Int"]["input"]>;
processingId: Scalars["Int"]["input"];
};
export type QueryChallengeArgs = {
id: Scalars["ID"]["input"];
};
@@ -2945,9 +2820,7 @@ export type QueryGetOrderedShotsArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput;
ids?: InputMaybe<Array<Scalars["Int"]["input"]>>;
includeExcluded?: Scalars["Boolean"]["input"];
limit?: Scalars["Int"]["input"];
processingId?: InputMaybe<Scalars["Int"]["input"]>;
shotsOrdering?: InputMaybe<GetShotsOrdering>;
};
@@ -2971,9 +2844,7 @@ export type QueryGetShotAnnotationTypesArgs = {
export type QueryGetShotsArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput;
includeExcluded?: Scalars["Boolean"]["input"];
limit?: Scalars["Int"]["input"];
processingId?: InputMaybe<Scalars["Int"]["input"]>;
shotsPagination?: InputMaybe<GetShotsPagination>;
};
@@ -2985,9 +2856,7 @@ export type QueryGetShotsWithMetadataArgs = {
countRespectsLimit?: Scalars["Boolean"]["input"];
filterInput: FilterInput;
ids?: InputMaybe<Array<Scalars["Int"]["input"]>>;
includeExcluded?: Scalars["Boolean"]["input"];
limit?: Scalars["Int"]["input"];
processingId?: InputMaybe<Scalars["Int"]["input"]>;
shotsPagination?: InputMaybe<GetShotsPagination>;
};
@@ -3041,10 +2910,6 @@ export type QueryGetVideoMakePercentageIntervalsArgs = {
videoId: Scalars["ID"]["input"];
};
export type QueryGetVideoProcessingsArgs = {
videoId: Scalars["Int"]["input"];
};
export type QueryGetVideosArgs = {
videoIds: Array<Scalars["Int"]["input"]>;
};
@@ -3341,12 +3206,6 @@ export enum SpinTypeEnum {
Unknown = "UNKNOWN",
}
export type SplitGroundTruthShotReturn = {
__typename?: "SplitGroundTruthShotReturn";
createdShot: ShotGql;
originalShot: ShotGql;
};
export type StreamErrorGql = {
__typename?: "StreamErrorGQL";
message: Scalars["String"]["output"];
@@ -3557,6 +3416,9 @@ export type UserSubscriptionStatusGql = {
__typename?: "UserSubscriptionStatusGQL";
currentPeriodEnd?: Maybe<Scalars["DateTime"]["output"]>;
currentPeriodStart?: Maybe<Scalars["DateTime"]["output"]>;
entitlementEndsAt?: Maybe<Scalars["DateTime"]["output"]>;
entitlementSource?: Maybe<EntitlementSourceTypeEnum>;
entitlementStartsAt?: Maybe<Scalars["DateTime"]["output"]>;
hasActiveSubscription: Scalars["Boolean"]["output"];
stripePriceId?: Maybe<Scalars["String"]["output"]>;
stripeSubscriptionId?: Maybe<Scalars["String"]["output"]>;
@@ -3655,39 +3517,6 @@ export type VideoMetadataInput = {
videoName?: InputMaybe<Scalars["String"]["input"]>;
};
export type VideoProcessingAssessmentGql = {
__typename?: "VideoProcessingAssessmentGQL";
correctlyFlaggedFalsePositivePairs: Array<VideoProcessingAssessmentShotPairGql>;
correctlyFlaggedFalsePositives: Scalars["Int"]["output"];
extraFlaggedFalsePositiveShotIds: Array<Scalars["Int"]["output"]>;
extraFlaggedFalsePositives: Scalars["Int"]["output"];
groundTruthFalsePositiveCount: Scalars["Int"]["output"];
groundTruthPositiveShotCount: Scalars["Int"]["output"];
groundTruthProcessingId: Scalars["Int"]["output"];
groundTruthShotCount: Scalars["Int"]["output"];
groundTruthShotsFlaggedFalsePositive: Scalars["Int"]["output"];
groundTruthShotsFlaggedFalsePositivePairs: Array<VideoProcessingAssessmentShotPairGql>;
makeDisagreementPairs: Array<VideoProcessingAssessmentShotPairGql>;
makeDisagreements: Scalars["Int"]["output"];
matchedGroundTruthPairs: Array<VideoProcessingAssessmentShotPairGql>;
matchedGroundTruthShots: Scalars["Int"]["output"];
missedGroundTruthShotIds: Array<Scalars["Int"]["output"]>;
missedGroundTruthShots: Scalars["Int"]["output"];
processingId: Scalars["Int"]["output"];
sourceFalsePositiveCount: Scalars["Int"]["output"];
sourceShotCount: Scalars["Int"]["output"];
unexpectedShotIds: Array<Scalars["Int"]["output"]>;
unexpectedShots: Scalars["Int"]["output"];
unflaggedFalsePositivePairs: Array<VideoProcessingAssessmentShotPairGql>;
unflaggedFalsePositives: Scalars["Int"]["output"];
};
export type VideoProcessingAssessmentShotPairGql = {
__typename?: "VideoProcessingAssessmentShotPairGQL";
groundTruthShotId: Scalars["Int"]["output"];
processingShotId: Scalars["Int"]["output"];
};
export type VideoProcessingErrorGql = {
__typename?: "VideoProcessingErrorGQL";
endSegmentIndex?: Maybe<Scalars["Int"]["output"]>;
@@ -5882,6 +5711,7 @@ export type GetStreamMonitoringDetailsQuery = {
__typename?: "UploadStreamGQL";
id: string;
linksRequested: number;
lowestUnuploadedSegmentIndex: number;
uploadsCompleted: number;
segmentProcessingCursor: number;
isCompleted: boolean;
@@ -6444,6 +6274,7 @@ export type HomographyInfoFragment = {
export type CreateUploadStreamMutationVariables = Exact<{
videoMetadataInput: VideoMetadataInput;
expectedDurationSeconds?: InputMaybe<Scalars["Float"]["input"]>;
}>;
export type CreateUploadStreamMutation = {
@@ -12163,6 +11994,7 @@ export const GetStreamMonitoringDetailsDocument = gql`
stream {
id
linksRequested
lowestUnuploadedSegmentIndex
uploadsCompleted
segmentProcessingCursor
isCompleted
@@ -13410,8 +13242,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
}
}
@@ -13435,6 +13273,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

@@ -61,8 +61,6 @@ type Query {
shotsOrdering: GetShotsOrdering = null
limit: Int! = 500
countRespectsLimit: Boolean! = false
processingId: Int = null
includeExcluded: Boolean! = false
): GetShotsResult!
getShotsWithMetadata(
filterInput: FilterInput!
@@ -70,16 +68,12 @@ type Query {
shotsPagination: GetShotsPagination = null
limit: Int! = 500
countRespectsLimit: Boolean! = false
processingId: Int = null
includeExcluded: Boolean! = false
): GetShotsResult!
getShots(
filterInput: FilterInput!
shotsPagination: GetShotsPagination = null
limit: Int! = 500
countRespectsLimit: Boolean! = false
processingId: Int = null
includeExcluded: Boolean! = false
): [ShotGQL!]!
getShotsByIds(ids: [Int!]!): [ShotGQL!]!
getUser(userId: Int!): UserGQL
@@ -114,11 +108,6 @@ type Query {
getUserTags(includeRetiredTags: Boolean = false): [TagGQL!]!
getVideo(videoId: Int!, debuggingJson: JSON = null): VideoGQL!
getVideos(videoIds: [Int!]!): [VideoGQL!]!
getVideoProcessings(videoId: Int!): [VideoProcessingGQL!]!
assessVideoProcessing(
processingId: Int!
groundTruthProcessingId: Int = null
): VideoProcessingAssessmentGQL!
}
type AggregateResultGQL {
@@ -220,7 +209,6 @@ input FilterInput @oneOf {
intendedPocketType: [PocketEnum!]
shotDirection: [ShotDirectionEnum!]
videoId: [Int!]
processingId: [Int!]
userId: [Int!]
runId: [Int!]
username: [String!]
@@ -973,6 +961,9 @@ type StripePriceGQL {
type UserSubscriptionStatusGQL {
hasActiveSubscription: Boolean!
entitlementSource: EntitlementSourceTypeEnum
entitlementStartsAt: DateTime
entitlementEndsAt: DateTime
subscriptionStatus: StripeSubscriptionStatusEnum
currentPeriodStart: DateTime
currentPeriodEnd: DateTime
@@ -981,6 +972,13 @@ type UserSubscriptionStatusGQL {
stripeSubscriptionId: String
}
enum EntitlementSourceTypeEnum {
ADMIN
MANUAL
STRIPE
ALPHA_LEGACY
}
enum StripeSubscriptionStatusEnum {
INCOMPLETE
INCOMPLETE_EXPIRED
@@ -1027,37 +1025,6 @@ scalar JSON
url: "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf"
)
type VideoProcessingAssessmentGQL {
processingId: Int!
groundTruthProcessingId: Int!
sourceShotCount: Int!
sourceFalsePositiveCount: Int!
groundTruthShotCount: Int!
groundTruthPositiveShotCount: Int!
groundTruthFalsePositiveCount: Int!
matchedGroundTruthShots: Int!
missedGroundTruthShots: Int!
unexpectedShots: Int!
correctlyFlaggedFalsePositives: Int!
unflaggedFalsePositives: Int!
extraFlaggedFalsePositives: Int!
groundTruthShotsFlaggedFalsePositive: Int!
makeDisagreements: Int!
matchedGroundTruthPairs: [VideoProcessingAssessmentShotPairGQL!]!
missedGroundTruthShotIds: [Int!]!
unexpectedShotIds: [Int!]!
correctlyFlaggedFalsePositivePairs: [VideoProcessingAssessmentShotPairGQL!]!
unflaggedFalsePositivePairs: [VideoProcessingAssessmentShotPairGQL!]!
extraFlaggedFalsePositiveShotIds: [Int!]!
groundTruthShotsFlaggedFalsePositivePairs: [VideoProcessingAssessmentShotPairGQL!]!
makeDisagreementPairs: [VideoProcessingAssessmentShotPairGQL!]!
}
type VideoProcessingAssessmentShotPairGQL {
processingShotId: Int!
groundTruthShotId: Int!
}
type Mutation {
createBucketSet(params: CreateBucketSetInput!): BucketSetGQL!
createRuleSet(name: String!, description: String = null): RuleSet!
@@ -1119,19 +1086,6 @@ type Mutation {
shotId: Int!
fieldsToEdit: EditableShotFieldInputGQL!
): EditShotReturn!
createGroundTruthShot(input: CreateGroundTruthShotInputGQL!): ShotGQL!
updateGroundTruthShotFrameRange(
shotId: Int!
startFrame: Int = null
endFrame: Int = null
notes: String = null
): ShotGQL!
splitGroundTruthShot(
shotId: Int!
splitFrame: Int!
notes: String = null
): SplitGroundTruthShotReturn!
deleteGroundTruthShot(shotId: Int!): DeleteGroundTruthShotReturn!
getProfileImageUploadLink(
fileExt: String = ".png"
): GetProfileUploadLinkReturn!
@@ -1144,6 +1098,14 @@ type Mutation {
deleteUser: Boolean!
createSubscription(priceId: String!): CreateSubscriptionResultGQL!
cancelSubscription: UserSubscriptionStatusGQL!
grantManualEntitlement(
userId: Int!
tierName: String! = "pro"
startsAt: DateTime = null
endsAt: DateTime = null
reason: String = null
): UserSubscriptionStatusGQL!
revokeManualEntitlement(userId: Int!): UserSubscriptionStatusGQL!
submitCancellationFeedback(
reasons: [CancellationReasonEnum!] = null
feedback: String = null
@@ -1154,11 +1116,6 @@ type Mutation {
videoMetadata: VideoMetadataInput!
expectedDurationSeconds: Float = null
): CreateUploadStreamReturn!
getOrCreateGroundTruthProcessing(
videoId: Int!
sourceProcessingId: Int = null
): VideoProcessingGQL!
promoteGroundTruthProcessing(processingId: Int!): VideoProcessingGQL!
getUploadLink(videoId: Int!, segmentIndex: Int!): GetUploadLinkReturn!
getHlsInitUploadLink(videoId: Int!): GetUploadLinkReturn!
setSegmentDuration(
@@ -1235,32 +1192,12 @@ input EditableShotFieldInputGQL {
shotDirection: ShotDirectionEnum
spinType: SpinTypeEnum
targetPocketAngleDirection: ShotDirectionEnum
intendedBallId: Int
intendedPocketId: PocketIdentifier
pathMetadataIndex: Int
make: Boolean
backcut: Boolean
excludeFromStats: Boolean
notes: String
}
input CreateGroundTruthShotInputGQL {
processingId: Int!
startFrame: Int!
endFrame: Int!
make: Boolean
notes: String
}
type SplitGroundTruthShotReturn {
originalShot: ShotGQL!
createdShot: ShotGQL!
}
type DeleteGroundTruthShotReturn {
deletedShotId: Int!
}
type GetProfileUploadLinkReturn {
value: UploadLinkGetProfileUploadLinkErrors!
}