Create get videos with playlist gql

This commit is contained in:
Kat Huang 2024-04-22 16:18:06 -06:00
parent 24fcac9318
commit 5181612f62
3 changed files with 88 additions and 0 deletions

View File

@ -153,6 +153,13 @@ export type GetUploadLinkReturn = {
uploadUrl: Scalars["String"]["output"]; uploadUrl: Scalars["String"]["output"];
}; };
export type HlsPlaylistGql = {
__typename?: "HLSPlaylistGQL";
m3u8Text: Scalars["String"]["output"];
segmentDurations: Array<Scalars["Float"]["output"]>;
videoId: Scalars["Int"]["output"];
};
export type Header = { export type Header = {
__typename?: "Header"; __typename?: "Header";
key: Scalars["String"]["output"]; key: Scalars["String"]["output"];
@ -271,6 +278,7 @@ export type Query = {
getUserVideos: VideoHistoryGql; getUserVideos: VideoHistoryGql;
getVideo: VideoGql; getVideo: VideoGql;
getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>; getVideoMakePercentageIntervals: Array<MakePercentageIntervalGql>;
getVideos: Array<VideoGql>;
}; };
export type QueryGetAggregatedShotMetricsArgs = { export type QueryGetAggregatedShotMetricsArgs = {
@ -309,6 +317,10 @@ export type QueryGetVideoMakePercentageIntervalsArgs = {
videoId: Scalars["ID"]["input"]; videoId: Scalars["ID"]["input"];
}; };
export type QueryGetVideosArgs = {
videoIds: Array<Scalars["Int"]["input"]>;
};
export type RangeFilter = { export type RangeFilter = {
greaterThanEqualTo?: InputMaybe<Scalars["Float"]["input"]>; greaterThanEqualTo?: InputMaybe<Scalars["Float"]["input"]>;
lessThan?: InputMaybe<Scalars["Float"]["input"]>; lessThan?: InputMaybe<Scalars["Float"]["input"]>;
@ -402,6 +414,7 @@ export type VideoGql = {
medianRun?: Maybe<Scalars["Float"]["output"]>; medianRun?: Maybe<Scalars["Float"]["output"]>;
name?: Maybe<Scalars["String"]["output"]>; name?: Maybe<Scalars["String"]["output"]>;
owner?: Maybe<UserGql>; owner?: Maybe<UserGql>;
playlist?: Maybe<HlsPlaylistGql>;
shots: Array<ShotGql>; shots: Array<ShotGql>;
startTime?: Maybe<Scalars["DateTime"]["output"]>; startTime?: Maybe<Scalars["DateTime"]["output"]>;
stream?: Maybe<UploadStreamGql>; stream?: Maybe<UploadStreamGql>;

View File

@ -102,3 +102,70 @@ query GetVideoDetails($videoId: Int!) {
} }
} }
} }
query GetVideos($videoIds: [Int!]!) {
getVideos(videoIds: $videoIds) {
id
name
totalShotsMade
totalShots
makePercentage
medianRun
averageTimeBetweenShots
createdAt
updatedAt
start_time
end_time
elapsed_time
frames_per_second
owner {
id
firebaseUid
username
profileImageUri
}
tags {
tagClasses {
name
}
name
}
playlist {
video_id
m3u8_text
segment_durations
}
shots {
id
timeOffset
coordinates
}
homography_history {
frame_index
crop {
x1
y1
x2
y2
}
pockets {
x1
y1
x2
y2
}
source_points {
topLeft
topRight
bottomLeft
bottomRight
}
dest_points {
topLeft
topRight
bottomLeft
bottomRight
}
}
}
}

View File

@ -19,6 +19,7 @@ type Query {
filters: VideoFilterInput = null filters: VideoFilterInput = null
): VideoHistoryGQL! ): VideoHistoryGQL!
getVideo(videoId: Int!): VideoGQL! getVideo(videoId: Int!): VideoGQL!
getVideos(videoIds: [Int!]!): [VideoGQL!]!
} }
type AggregateResultGQL { type AggregateResultGQL {
@ -207,6 +208,7 @@ type VideoGQL {
elapsedTime: Float elapsedTime: Float
framesPerSecond: Int! framesPerSecond: Int!
stream: UploadStreamGQL stream: UploadStreamGQL
playlist: HLSPlaylistGQL
tags: [VideoTag!]! tags: [VideoTag!]!
homographyHistory: [HomographyInfoGQL!]! homographyHistory: [HomographyInfoGQL!]!
} }
@ -227,6 +229,12 @@ type StreamErrorGQL {
message: String! message: String!
} }
type HLSPlaylistGQL {
videoId: Int!
m3u8Text: String!
segmentDurations: [Float!]!
}
type VideoTag { type VideoTag {
tagClasses: [VideoTagClass!]! tagClasses: [VideoTagClass!]!
name: String! name: String!