Merge pull request 'Add error types for init uploading' (#48) from mk/limit-init-upload-links into master

Reviewed-on: #48
Reviewed-by: loewy <loewymalkov@gmail.com>
This commit is contained in:
countablecloud 2024-09-03 16:52:51 -06:00
commit b94a568ef1
3 changed files with 45 additions and 27 deletions

View File

@ -1133,15 +1133,9 @@ export type GetShotsPagination = {
startFrameAfter: Scalars["Int"]["input"]; startFrameAfter: Scalars["Int"]["input"];
}; };
export type GetShotsResult = {
__typename?: "GetShotsResult";
count?: Maybe<Scalars["Int"]["output"]>;
shots: Array<ShotGql>;
};
export type GetUploadLinkErrors = { export type GetUploadLinkErrors = {
__typename?: "GetUploadLinkErrors"; __typename?: "GetUploadLinkErrors";
error: MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErr; error: MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErr;
}; };
export type GetUploadLinkReturn = { export type GetUploadLinkReturn = {
@ -1178,6 +1172,11 @@ export enum InitPlaylistUploadStatusEnum {
Uploaded = "UPLOADED", Uploaded = "UPLOADED",
} }
export type InitUploadAlreadyCompletedErr = {
__typename?: "InitUploadAlreadyCompletedErr";
segmentType: StreamSegmentTypeEnum;
};
export type IntPoint2D = { export type IntPoint2D = {
__typename?: "IntPoint2D"; __typename?: "IntPoint2D";
x: Scalars["Int"]["output"]; x: Scalars["Int"]["output"];
@ -1196,12 +1195,14 @@ export type MustHaveSetForUploadLinkErr = {
resolution?: Maybe<Scalars["Boolean"]["output"]>; resolution?: Maybe<Scalars["Boolean"]["output"]>;
}; };
export type MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErr = export type MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErr =
| InitUploadAlreadyCompletedErr
| MustHaveSetForUploadLinkErr | MustHaveSetForUploadLinkErr
| NoInitForChunkedUploadErr | NoInitForChunkedUploadErr
| ProcessingFailedErr | ProcessingFailedErr
| SegmentAlreadyUploadedErr | SegmentAlreadyUploadedErr
| TooManyInitUploadsErr
| TooManyProfileImageUploadsErr; | TooManyProfileImageUploadsErr;
export type Mutation = { export type Mutation = {
@ -1334,7 +1335,6 @@ export type Query = {
getPlayTime: UserPlayTimeGql; getPlayTime: UserPlayTimeGql;
getShotAnnotationTypes: Array<ShotAnnotationTypeGql>; getShotAnnotationTypes: Array<ShotAnnotationTypeGql>;
getShots: Array<ShotGql>; getShots: Array<ShotGql>;
getShotsWithMetadata: GetShotsResult;
getUser?: Maybe<UserGql>; getUser?: Maybe<UserGql>;
getUserTags: Array<TagGql>; getUserTags: Array<TagGql>;
getUserVideos: VideoHistoryGql; getUserVideos: VideoHistoryGql;
@ -1367,12 +1367,6 @@ export type QueryGetShotsArgs = {
shotsPagination?: InputMaybe<GetShotsPagination>; shotsPagination?: InputMaybe<GetShotsPagination>;
}; };
export type QueryGetShotsWithMetadataArgs = {
filterInput: FilterInput;
limit?: Scalars["Int"]["input"];
shotsPagination?: InputMaybe<GetShotsPagination>;
};
export type QueryGetUserArgs = { export type QueryGetUserArgs = {
userId: Scalars["Int"]["input"]; userId: Scalars["Int"]["input"];
}; };
@ -1512,6 +1506,11 @@ export type TargetMetricsGql = {
makePercentage?: Maybe<Scalars["Float"]["output"]>; makePercentage?: Maybe<Scalars["Float"]["output"]>;
}; };
export type TooManyInitUploadsErr = {
__typename?: "TooManyInitUploadsErr";
linksRequested: Scalars["Int"]["output"];
};
export type TooManyProfileImageUploadsErr = { export type TooManyProfileImageUploadsErr = {
__typename?: "TooManyProfileImageUploadsErr"; __typename?: "TooManyProfileImageUploadsErr";
linksRequested: Scalars["Int"]["output"]; linksRequested: Scalars["Int"]["output"];
@ -2266,6 +2265,7 @@ export type GetUploadLinkMutation = {
| { | {
__typename?: "GetUploadLinkErrors"; __typename?: "GetUploadLinkErrors";
error: error:
| { __typename?: "InitUploadAlreadyCompletedErr" }
| { | {
__typename?: "MustHaveSetForUploadLinkErr"; __typename?: "MustHaveSetForUploadLinkErr";
resolution?: boolean | null; resolution?: boolean | null;
@ -2284,6 +2284,7 @@ export type GetUploadLinkMutation = {
}; };
} }
| { __typename?: "SegmentAlreadyUploadedErr"; segmentId: number } | { __typename?: "SegmentAlreadyUploadedErr"; segmentId: number }
| { __typename?: "TooManyInitUploadsErr" }
| { __typename?: "TooManyProfileImageUploadsErr" }; | { __typename?: "TooManyProfileImageUploadsErr" };
} }
| { | {
@ -2314,6 +2315,10 @@ export type GetHlsInitUploadLinkMutation = {
| { | {
__typename?: "GetUploadLinkErrors"; __typename?: "GetUploadLinkErrors";
error: error:
| {
__typename?: "InitUploadAlreadyCompletedErr";
segmentType: StreamSegmentTypeEnum;
}
| { __typename?: "MustHaveSetForUploadLinkErr" } | { __typename?: "MustHaveSetForUploadLinkErr" }
| { | {
__typename?: "NoInitForChunkedUploadErr"; __typename?: "NoInitForChunkedUploadErr";
@ -2321,6 +2326,7 @@ export type GetHlsInitUploadLinkMutation = {
} }
| { __typename?: "ProcessingFailedErr" } | { __typename?: "ProcessingFailedErr" }
| { __typename?: "SegmentAlreadyUploadedErr" } | { __typename?: "SegmentAlreadyUploadedErr" }
| { __typename?: "TooManyInitUploadsErr"; linksRequested: number }
| { __typename?: "TooManyProfileImageUploadsErr" }; | { __typename?: "TooManyProfileImageUploadsErr" };
} }
| { | {
@ -4406,6 +4412,12 @@ export const GetHlsInitUploadLinkDocument = gql`
... on NoInitForChunkedUploadErr { ... on NoInitForChunkedUploadErr {
segmentType segmentType
} }
... on InitUploadAlreadyCompletedErr {
segmentType
}
... on TooManyInitUploadsErr {
linksRequested
}
} }
} }
} }

View File

@ -55,6 +55,12 @@ mutation GetHlsInitUploadLink($videoId: Int!) {
... on NoInitForChunkedUploadErr { ... on NoInitForChunkedUploadErr {
segmentType segmentType
} }
... on InitUploadAlreadyCompletedErr {
segmentType
}
... on TooManyInitUploadsErr {
linksRequested
}
} }
} }
} }

View File

@ -9,11 +9,6 @@ type Query {
videoId: ID! videoId: ID!
intervalDuration: Int! = 300 intervalDuration: Int! = 300
): [MakePercentageIntervalGQL!]! ): [MakePercentageIntervalGQL!]!
getShotsWithMetadata(
filterInput: FilterInput!
shotsPagination: GetShotsPagination = null
limit: Int! = 500
): GetShotsResult!
getShots( getShots(
filterInput: FilterInput! filterInput: FilterInput!
shotsPagination: GetShotsPagination = null shotsPagination: GetShotsPagination = null
@ -176,11 +171,6 @@ type MakePercentageIntervalGQL {
elapsedTime: Float! elapsedTime: Float!
} }
type GetShotsResult {
shots: [ShotGQL!]!
count: Int
}
type ShotGQL { type ShotGQL {
id: Int! id: Int!
videoId: Int! videoId: Int!
@ -586,15 +576,17 @@ type GetUploadLinkReturn {
union UploadLinkGetUploadLinkErrors = UploadLink | GetUploadLinkErrors union UploadLinkGetUploadLinkErrors = UploadLink | GetUploadLinkErrors
type GetUploadLinkErrors { type GetUploadLinkErrors {
error: MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErr! error: MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErr!
} }
union MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErr = union MustHaveSetForUploadLinkErrSegmentAlreadyUploadedErrProcessingFailedErrNoInitForChunkedUploadErrTooManyProfileImageUploadsErrInitUploadAlreadyCompletedErrTooManyInitUploadsErr =
MustHaveSetForUploadLinkErr MustHaveSetForUploadLinkErr
| SegmentAlreadyUploadedErr | SegmentAlreadyUploadedErr
| ProcessingFailedErr | ProcessingFailedErr
| NoInitForChunkedUploadErr | NoInitForChunkedUploadErr
| TooManyProfileImageUploadsErr | TooManyProfileImageUploadsErr
| InitUploadAlreadyCompletedErr
| TooManyInitUploadsErr
type MustHaveSetForUploadLinkErr { type MustHaveSetForUploadLinkErr {
resolution: Boolean resolution: Boolean
@ -612,3 +604,11 @@ type ProcessingFailedErr {
type NoInitForChunkedUploadErr { type NoInitForChunkedUploadErr {
segmentType: StreamSegmentTypeEnum! segmentType: StreamSegmentTypeEnum!
} }
type InitUploadAlreadyCompletedErr {
segmentType: StreamSegmentTypeEnum!
}
type TooManyInitUploadsErr {
linksRequested: Int!
}