use conjure_http::endpoint;
#[conjure_http::conjure_endpoints(name = "VideoService", use_legacy_error_serialization)]
pub trait VideoService<#[request_body] I, #[response_writer] O> {
type GetPlaylistBody: conjure_http::server::WriteBody<O> + 'static;
type GetPlaylistInBoundsBody: conjure_http::server::WriteBody<O> + 'static;
type GetPlaylistInBoundsV2Body: conjure_http::server::WriteBody<O> + 'static;
type GetPlaylistV2Body: conjure_http::server::WriteBody<O> + 'static;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}",
name = "get",
produces = conjure_http::server::StdResponseSerializer
)]
fn get(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::Video,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/batchGet",
name = "batchGet",
produces = conjure_http::server::StdResponseSerializer
)]
fn batch_get(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetVideosRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::GetVideosResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/search",
name = "search",
produces = conjure_http::server::StdResponseSerializer
)]
fn search(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::SearchVideosRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::SearchVideosResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos",
name = "create",
produces = conjure_http::server::StdResponseSerializer
)]
fn create(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::CreateVideoRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::Video,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}",
name = "updateMetadata",
produces = conjure_http::server::StdResponseSerializer
)]
fn update_metadata(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::UpdateVideoMetadataRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::Video,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}/ingest-status",
name = "updateIngestStatus"
)]
fn update_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::UpdateIngestStatus,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/ingest-status",
name = "getIngestStatus",
produces = conjure_http::server::StdResponseSerializer
)]
fn get_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/batch-get-ingest-status",
name = "batchGetIngestStatus",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn batch_get_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(
deserializer = conjure_http::server::StdRequestDeserializer,
log_as = "videoRids",
safe
)]
video_rids: std::collections::BTreeSet<
super::super::super::super::objects::api::rids::VideoRid,
>,
) -> Result<
std::collections::BTreeMap<
super::super::super::super::objects::api::rids::VideoRid,
super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/enriched-ingest-status",
name = "getEnrichedIngestStatus",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn get_enriched_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetEnrichedVideoIngestStatusRequest,
) -> Result<
Option<
super::super::super::super::objects::scout::video::api::EnrichedVideoIngestStatus,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}/archive",
name = "archive"
)]
fn archive(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}/unarchive",
name = "unarchive"
)]
fn unarchive(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/playlist",
name = "getPlaylist",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
fn get_playlist(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[query(
name = "start",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder
)]
start: Option<String>,
#[query(
name = "end",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder
)]
end: Option<String>,
) -> Result<Self::GetPlaylistBody, conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/segment-summaries",
name = "getSegmentSummaries",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn get_segment_summaries(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/playlist-in-bounds",
name = "getPlaylistInBounds",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
fn get_playlist_in_bounds(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsRequest,
) -> Result<Self::GetPlaylistInBoundsBody, conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/video/v2/videos/playlist-in-bounds",
name = "getPlaylistInBoundsV2",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
fn get_playlist_in_bounds_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsForChannelRequest,
) -> Result<Self::GetPlaylistInBoundsV2Body, conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v2/videos/playlist",
name = "getPlaylistV2",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
fn get_playlist_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "dataSourceRid",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "dataSourceRid",
safe
)]
data_source_rid: Option<
super::super::super::super::objects::api::rids::DataSourceRid,
>,
#[query(
name = "assetRid",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "assetRid",
safe
)]
asset_rid: Option<
super::super::super::super::objects::scout::rids::api::AssetRid,
>,
#[query(
name = "dataScopeName",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "dataScopeName"
)]
data_scope_name: Option<String>,
#[query(
name = "channel",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
channel: String,
#[query(
name = "tags",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder
)]
tags: Option<String>,
#[query(
name = "start",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
start: String,
#[query(name = "end", decoder = conjure_http::server::conjure::FromPlainDecoder)]
end: String,
) -> Result<Self::GetPlaylistV2Body, conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/segment-summaries-in-bounds",
name = "getSegmentSummariesInBounds",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn get_segment_summaries_in_bounds(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsRequest,
) -> Result<
Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/segment-summaries-in-bounds",
name = "getSegmentSummariesInBoundsV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn get_segment_summaries_in_bounds_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsForChannelRequest,
) -> Result<
Vec<super::super::super::super::objects::scout::video::api::SegmentSummaryV2>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/segment-metadata",
name = "getSegmentMetadataV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn get_segment_metadata_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentMetadataForChannelRequest,
) -> Result<
Option<
super::super::super::super::objects::scout::video::api::VideoChannelSegmentsMetadata,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/get-segment-by-timestamp",
name = "getSegmentByTimestampV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn get_segment_by_timestamp_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentByTimestampV2Request,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/get-segment-at-or-after-timestamp",
name = "getSegmentAtOrAfterTimestamp",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn get_segment_at_or_after_timestamp(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampRequest,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::Segment>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/get-segment-at-or-after-timestamp",
name = "getSegmentAtOrAfterTimestampV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn get_segment_at_or_after_timestamp_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampV2Request,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/get-ranges-with-existing-segment-data",
name = "getFileSummaries",
produces = conjure_http::server::StdResponseSerializer
)]
fn get_file_summaries(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetFileSummariesRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::GetFileSummariesResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/whip",
name = "generateWhipStream",
produces = conjure_http::server::StdResponseSerializer
)]
fn generate_whip_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/streaming/whip",
name = "generateWhipStreamV2",
produces = conjure_http::server::StdResponseSerializer
)]
fn generate_whip_stream_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GenerateWhipStreamV2Request,
) -> Result<
super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/whep",
name = "generateWhepStream",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn generate_whep_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
Option<
super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/streaming/streams/{streamId}",
name = "getStream",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
fn get_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[path(
name = "streamId",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "streamId"
)]
stream_id: String,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::VideoStream>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/streams-in-bounds",
name = "getStreamsInBounds",
produces = conjure_http::server::StdResponseSerializer
)]
fn get_streams_in_bounds(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetStreamsInBoundsRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::GetStreamsInBoundsResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/end",
name = "endStream",
produces = conjure_http::server::StdResponseSerializer
)]
fn end_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::EndStreamResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/segment/upload",
name = "uploadSegmentFromMediaMtx"
)]
fn upload_segment_from_media_mtx(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "streamPath",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "streamPath"
)]
stream_path: String,
#[query(
name = "filePath",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "filePath"
)]
file_path: String,
#[query(
name = "duration",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
duration: String,
#[query(
name = "minTimestampSeconds",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "minTimestampSeconds"
)]
min_timestamp_seconds: conjure_object::SafeLong,
#[query(
name = "minTimestampNanos",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "minTimestampNanos"
)]
min_timestamp_nanos: conjure_object::SafeLong,
#[header(
name = "Content-Length",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "contentLength"
)]
content_length: conjure_object::SafeLong,
#[body(deserializer = conjure_http::server::conjure::BinaryRequestDeserializer)]
body: I,
) -> Result<(), conjure_http::private::Error>;
}
#[conjure_http::conjure_endpoints(name = "VideoService", use_legacy_error_serialization)]
pub trait AsyncVideoService<#[request_body] I, #[response_writer] O> {
type GetPlaylistBody: conjure_http::server::AsyncWriteBody<O> + 'static + Send;
type GetPlaylistInBoundsBody: conjure_http::server::AsyncWriteBody<O>
+ 'static
+ Send;
type GetPlaylistInBoundsV2Body: conjure_http::server::AsyncWriteBody<O>
+ 'static
+ Send;
type GetPlaylistV2Body: conjure_http::server::AsyncWriteBody<O> + 'static + Send;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}",
name = "get",
produces = conjure_http::server::StdResponseSerializer
)]
async fn get(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::Video,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/batchGet",
name = "batchGet",
produces = conjure_http::server::StdResponseSerializer
)]
async fn batch_get(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetVideosRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::GetVideosResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/search",
name = "search",
produces = conjure_http::server::StdResponseSerializer
)]
async fn search(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::SearchVideosRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::SearchVideosResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos",
name = "create",
produces = conjure_http::server::StdResponseSerializer
)]
async fn create(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::CreateVideoRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::Video,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}",
name = "updateMetadata",
produces = conjure_http::server::StdResponseSerializer
)]
async fn update_metadata(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::UpdateVideoMetadataRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::Video,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}/ingest-status",
name = "updateIngestStatus"
)]
async fn update_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::UpdateIngestStatus,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/ingest-status",
name = "getIngestStatus",
produces = conjure_http::server::StdResponseSerializer
)]
async fn get_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/batch-get-ingest-status",
name = "batchGetIngestStatus",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn batch_get_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(
deserializer = conjure_http::server::StdRequestDeserializer,
log_as = "videoRids",
safe
)]
video_rids: std::collections::BTreeSet<
super::super::super::super::objects::api::rids::VideoRid,
>,
) -> Result<
std::collections::BTreeMap<
super::super::super::super::objects::api::rids::VideoRid,
super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/enriched-ingest-status",
name = "getEnrichedIngestStatus",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_enriched_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetEnrichedVideoIngestStatusRequest,
) -> Result<
Option<
super::super::super::super::objects::scout::video::api::EnrichedVideoIngestStatus,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}/archive",
name = "archive"
)]
async fn archive(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}/unarchive",
name = "unarchive"
)]
async fn unarchive(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/playlist",
name = "getPlaylist",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
async fn get_playlist(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[query(
name = "start",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder
)]
start: Option<String>,
#[query(
name = "end",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder
)]
end: Option<String>,
) -> Result<Self::GetPlaylistBody, conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/segment-summaries",
name = "getSegmentSummaries",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_summaries(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/playlist-in-bounds",
name = "getPlaylistInBounds",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
async fn get_playlist_in_bounds(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsRequest,
) -> Result<Self::GetPlaylistInBoundsBody, conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/video/v2/videos/playlist-in-bounds",
name = "getPlaylistInBoundsV2",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
async fn get_playlist_in_bounds_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsForChannelRequest,
) -> Result<Self::GetPlaylistInBoundsV2Body, conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v2/videos/playlist",
name = "getPlaylistV2",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
async fn get_playlist_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "dataSourceRid",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "dataSourceRid",
safe
)]
data_source_rid: Option<
super::super::super::super::objects::api::rids::DataSourceRid,
>,
#[query(
name = "assetRid",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "assetRid",
safe
)]
asset_rid: Option<
super::super::super::super::objects::scout::rids::api::AssetRid,
>,
#[query(
name = "dataScopeName",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "dataScopeName"
)]
data_scope_name: Option<String>,
#[query(
name = "channel",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
channel: String,
#[query(
name = "tags",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder
)]
tags: Option<String>,
#[query(
name = "start",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
start: String,
#[query(name = "end", decoder = conjure_http::server::conjure::FromPlainDecoder)]
end: String,
) -> Result<Self::GetPlaylistV2Body, conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/segment-summaries-in-bounds",
name = "getSegmentSummariesInBounds",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_summaries_in_bounds(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsRequest,
) -> Result<
Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/segment-summaries-in-bounds",
name = "getSegmentSummariesInBoundsV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_summaries_in_bounds_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsForChannelRequest,
) -> Result<
Vec<super::super::super::super::objects::scout::video::api::SegmentSummaryV2>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/segment-metadata",
name = "getSegmentMetadataV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_metadata_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentMetadataForChannelRequest,
) -> Result<
Option<
super::super::super::super::objects::scout::video::api::VideoChannelSegmentsMetadata,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/get-segment-by-timestamp",
name = "getSegmentByTimestampV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_by_timestamp_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentByTimestampV2Request,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/get-segment-at-or-after-timestamp",
name = "getSegmentAtOrAfterTimestamp",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_at_or_after_timestamp(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampRequest,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::Segment>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/get-segment-at-or-after-timestamp",
name = "getSegmentAtOrAfterTimestampV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_at_or_after_timestamp_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampV2Request,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/get-ranges-with-existing-segment-data",
name = "getFileSummaries",
produces = conjure_http::server::StdResponseSerializer
)]
async fn get_file_summaries(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetFileSummariesRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::GetFileSummariesResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/whip",
name = "generateWhipStream",
produces = conjure_http::server::StdResponseSerializer
)]
async fn generate_whip_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/streaming/whip",
name = "generateWhipStreamV2",
produces = conjure_http::server::StdResponseSerializer
)]
async fn generate_whip_stream_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GenerateWhipStreamV2Request,
) -> Result<
super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/whep",
name = "generateWhepStream",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn generate_whep_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
Option<
super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/streaming/streams/{streamId}",
name = "getStream",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[path(
name = "streamId",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "streamId"
)]
stream_id: String,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::VideoStream>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/streams-in-bounds",
name = "getStreamsInBounds",
produces = conjure_http::server::StdResponseSerializer
)]
async fn get_streams_in_bounds(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetStreamsInBoundsRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::GetStreamsInBoundsResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/end",
name = "endStream",
produces = conjure_http::server::StdResponseSerializer
)]
async fn end_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::EndStreamResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/segment/upload",
name = "uploadSegmentFromMediaMtx"
)]
async fn upload_segment_from_media_mtx(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "streamPath",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "streamPath"
)]
stream_path: String,
#[query(
name = "filePath",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "filePath"
)]
file_path: String,
#[query(
name = "duration",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
duration: String,
#[query(
name = "minTimestampSeconds",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "minTimestampSeconds"
)]
min_timestamp_seconds: conjure_object::SafeLong,
#[query(
name = "minTimestampNanos",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "minTimestampNanos"
)]
min_timestamp_nanos: conjure_object::SafeLong,
#[header(
name = "Content-Length",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "contentLength"
)]
content_length: conjure_object::SafeLong,
#[body(deserializer = conjure_http::server::conjure::BinaryRequestDeserializer)]
body: I,
) -> Result<(), conjure_http::private::Error>;
}
#[conjure_http::conjure_endpoints(
name = "VideoService",
use_legacy_error_serialization,
local
)]
pub trait LocalAsyncVideoService<#[request_body] I, #[response_writer] O> {
type GetPlaylistBody: conjure_http::server::LocalAsyncWriteBody<O> + 'static;
type GetPlaylistInBoundsBody: conjure_http::server::LocalAsyncWriteBody<O> + 'static;
type GetPlaylistInBoundsV2Body: conjure_http::server::LocalAsyncWriteBody<O>
+ 'static;
type GetPlaylistV2Body: conjure_http::server::LocalAsyncWriteBody<O> + 'static;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}",
name = "get",
produces = conjure_http::server::StdResponseSerializer
)]
async fn get(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::Video,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/batchGet",
name = "batchGet",
produces = conjure_http::server::StdResponseSerializer
)]
async fn batch_get(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetVideosRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::GetVideosResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/search",
name = "search",
produces = conjure_http::server::StdResponseSerializer
)]
async fn search(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::SearchVideosRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::SearchVideosResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos",
name = "create",
produces = conjure_http::server::StdResponseSerializer
)]
async fn create(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::CreateVideoRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::Video,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}",
name = "updateMetadata",
produces = conjure_http::server::StdResponseSerializer
)]
async fn update_metadata(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::UpdateVideoMetadataRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::Video,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}/ingest-status",
name = "updateIngestStatus"
)]
async fn update_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::UpdateIngestStatus,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/ingest-status",
name = "getIngestStatus",
produces = conjure_http::server::StdResponseSerializer
)]
async fn get_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/batch-get-ingest-status",
name = "batchGetIngestStatus",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn batch_get_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(
deserializer = conjure_http::server::StdRequestDeserializer,
log_as = "videoRids",
safe
)]
video_rids: std::collections::BTreeSet<
super::super::super::super::objects::api::rids::VideoRid,
>,
) -> Result<
std::collections::BTreeMap<
super::super::super::super::objects::api::rids::VideoRid,
super::super::super::super::objects::scout::video::api::DetailedIngestStatus,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/enriched-ingest-status",
name = "getEnrichedIngestStatus",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_enriched_ingest_status(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetEnrichedVideoIngestStatusRequest,
) -> Result<
Option<
super::super::super::super::objects::scout::video::api::EnrichedVideoIngestStatus,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}/archive",
name = "archive"
)]
async fn archive(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = PUT,
path = "/video/v1/videos/{videoRid}/unarchive",
name = "unarchive"
)]
async fn unarchive(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<(), conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/playlist",
name = "getPlaylist",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
async fn get_playlist(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[query(
name = "start",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder
)]
start: Option<String>,
#[query(
name = "end",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder
)]
end: Option<String>,
) -> Result<Self::GetPlaylistBody, conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/segment-summaries",
name = "getSegmentSummaries",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_summaries(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/playlist-in-bounds",
name = "getPlaylistInBounds",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
async fn get_playlist_in_bounds(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsRequest,
) -> Result<Self::GetPlaylistInBoundsBody, conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/video/v2/videos/playlist-in-bounds",
name = "getPlaylistInBoundsV2",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
async fn get_playlist_in_bounds_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetPlaylistInBoundsForChannelRequest,
) -> Result<Self::GetPlaylistInBoundsV2Body, conjure_http::private::Error>;
#[endpoint(
method = GET,
path = "/video/v2/videos/playlist",
name = "getPlaylistV2",
produces = conjure_http::server::conjure::BinaryResponseSerializer
)]
async fn get_playlist_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "dataSourceRid",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "dataSourceRid",
safe
)]
data_source_rid: Option<
super::super::super::super::objects::api::rids::DataSourceRid,
>,
#[query(
name = "assetRid",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "assetRid",
safe
)]
asset_rid: Option<
super::super::super::super::objects::scout::rids::api::AssetRid,
>,
#[query(
name = "dataScopeName",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
log_as = "dataScopeName"
)]
data_scope_name: Option<String>,
#[query(
name = "channel",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
channel: String,
#[query(
name = "tags",
decoder = conjure_http::server::conjure::FromPlainOptionDecoder
)]
tags: Option<String>,
#[query(
name = "start",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
start: String,
#[query(name = "end", decoder = conjure_http::server::conjure::FromPlainDecoder)]
end: String,
) -> Result<Self::GetPlaylistV2Body, conjure_http::private::Error>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/segment-summaries-in-bounds",
name = "getSegmentSummariesInBounds",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_summaries_in_bounds(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsRequest,
) -> Result<
Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/segment-summaries-in-bounds",
name = "getSegmentSummariesInBoundsV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_summaries_in_bounds_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentSummariesInBoundsForChannelRequest,
) -> Result<
Vec<super::super::super::super::objects::scout::video::api::SegmentSummaryV2>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/segment-metadata",
name = "getSegmentMetadataV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_metadata_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentMetadataForChannelRequest,
) -> Result<
Option<
super::super::super::super::objects::scout::video::api::VideoChannelSegmentsMetadata,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/get-segment-by-timestamp",
name = "getSegmentByTimestampV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_by_timestamp_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentByTimestampV2Request,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/get-segment-at-or-after-timestamp",
name = "getSegmentAtOrAfterTimestamp",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_at_or_after_timestamp(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampRequest,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::Segment>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/get-segment-at-or-after-timestamp",
name = "getSegmentAtOrAfterTimestampV2",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_segment_at_or_after_timestamp_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetSegmentAtOrAfterTimestampV2Request,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::SegmentV2>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/get-ranges-with-existing-segment-data",
name = "getFileSummaries",
produces = conjure_http::server::StdResponseSerializer
)]
async fn get_file_summaries(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
request: super::super::super::super::objects::scout::video::api::GetFileSummariesRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::GetFileSummariesResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/whip",
name = "generateWhipStream",
produces = conjure_http::server::StdResponseSerializer
)]
async fn generate_whip_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v2/videos/streaming/whip",
name = "generateWhipStreamV2",
produces = conjure_http::server::StdResponseSerializer
)]
async fn generate_whip_stream_v2(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GenerateWhipStreamV2Request,
) -> Result<
super::super::super::super::objects::scout::video::api::GenerateWhipStreamResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/whep",
name = "generateWhepStream",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn generate_whep_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
Option<
super::super::super::super::objects::scout::video::api::GenerateWhepStreamResponse,
>,
conjure_http::private::Error,
>;
#[endpoint(
method = GET,
path = "/video/v1/videos/{videoRid}/streaming/streams/{streamId}",
name = "getStream",
produces = conjure_http::server::conjure::CollectionResponseSerializer
)]
async fn get_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[path(
name = "streamId",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "streamId"
)]
stream_id: String,
) -> Result<
Option<super::super::super::super::objects::scout::video::api::VideoStream>,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/streams-in-bounds",
name = "getStreamsInBounds",
produces = conjure_http::server::StdResponseSerializer
)]
async fn get_streams_in_bounds(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
#[body(deserializer = conjure_http::server::StdRequestDeserializer)]
request: super::super::super::super::objects::scout::video::api::GetStreamsInBoundsRequest,
) -> Result<
super::super::super::super::objects::scout::video::api::GetStreamsInBoundsResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/videos/{videoRid}/streaming/end",
name = "endStream",
produces = conjure_http::server::StdResponseSerializer
)]
async fn end_stream(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[path(
name = "videoRid",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "videoRid",
safe
)]
video_rid: super::super::super::super::objects::api::rids::VideoRid,
) -> Result<
super::super::super::super::objects::scout::video::api::EndStreamResponse,
conjure_http::private::Error,
>;
#[endpoint(
method = POST,
path = "/video/v1/segment/upload",
name = "uploadSegmentFromMediaMtx"
)]
async fn upload_segment_from_media_mtx(
&self,
#[auth]
auth_: conjure_object::BearerToken,
#[query(
name = "streamPath",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "streamPath"
)]
stream_path: String,
#[query(
name = "filePath",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "filePath"
)]
file_path: String,
#[query(
name = "duration",
decoder = conjure_http::server::conjure::FromPlainDecoder
)]
duration: String,
#[query(
name = "minTimestampSeconds",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "minTimestampSeconds"
)]
min_timestamp_seconds: conjure_object::SafeLong,
#[query(
name = "minTimestampNanos",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "minTimestampNanos"
)]
min_timestamp_nanos: conjure_object::SafeLong,
#[header(
name = "Content-Length",
decoder = conjure_http::server::conjure::FromPlainDecoder,
log_as = "contentLength"
)]
content_length: conjure_object::SafeLong,
#[body(deserializer = conjure_http::server::conjure::BinaryRequestDeserializer)]
body: I,
) -> Result<(), conjure_http::private::Error>;
}