Skip to main content

nominal_api/conjure/clients/scout/video/
video_file_service.rs

1use conjure_http::endpoint;
2/// The video service manages individual video files and their metadata.
3#[conjure_http::conjure_client(name = "VideoFileService")]
4pub trait VideoFileService<
5    #[response_body]
6    I: Iterator<
7            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
8        >,
9> {
10    /// Create and persist a video file entity with the given metadata
11    #[endpoint(
12        method = POST,
13        path = "/video-files/v1/video-files",
14        name = "create",
15        accept = conjure_http::client::StdResponseDeserializer
16    )]
17    fn create(
18        &self,
19        #[auth]
20        auth_: &conjure_object::BearerToken,
21        #[body(serializer = conjure_http::client::StdRequestSerializer)]
22        request: &super::super::super::super::objects::scout::video::api::CreateVideoFileRequest,
23    ) -> Result<
24        super::super::super::super::objects::scout::video::api::VideoFile,
25        conjure_http::private::Error,
26    >;
27    /// Returns video file metadata associated with a video file RID.
28    #[endpoint(
29        method = GET,
30        path = "/video-files/v1/video-files/{videoFileRid}",
31        name = "get",
32        accept = conjure_http::client::StdResponseDeserializer
33    )]
34    fn get(
35        &self,
36        #[auth]
37        auth_: &conjure_object::BearerToken,
38        #[path(
39            name = "videoFileRid",
40            encoder = conjure_http::client::conjure::PlainEncoder
41        )]
42        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
43    ) -> Result<
44        super::super::super::super::objects::scout::video::api::VideoFile,
45        conjure_http::private::Error,
46    >;
47    /// Returns all video files and their metadata associated with the given RIDs
48    #[endpoint(
49        method = POST,
50        path = "/video-files/v1/video-files/batchGet",
51        name = "batchGet",
52        accept = conjure_http::client::conjure::CollectionResponseDeserializer
53    )]
54    fn batch_get(
55        &self,
56        #[auth]
57        auth_: &conjure_object::BearerToken,
58        #[body(serializer = conjure_http::client::StdRequestSerializer)]
59        video_file_rids: &std::collections::BTreeSet<
60            super::super::super::super::objects::api::rids::VideoFileRid,
61        >,
62    ) -> Result<
63        std::collections::BTreeSet<
64            super::super::super::super::objects::scout::video::api::VideoFile,
65        >,
66        conjure_http::private::Error,
67    >;
68    #[endpoint(
69        method = POST,
70        path = "/video-files/v1/video-files/list-files-in-video",
71        name = "listFilesInVideo",
72        accept = conjure_http::client::conjure::CollectionResponseDeserializer
73    )]
74    fn list_files_in_video(
75        &self,
76        #[auth]
77        auth_: &conjure_object::BearerToken,
78        #[body(serializer = conjure_http::client::StdRequestSerializer)]
79        video_rid: &super::super::super::super::objects::api::rids::VideoRid,
80    ) -> Result<
81        std::collections::BTreeSet<
82            super::super::super::super::objects::scout::video::api::VideoFile,
83        >,
84        conjure_http::private::Error,
85    >;
86    /// Returns a paginated list of all video files and their metadata associated with the given video RID.
87    #[endpoint(
88        method = POST,
89        path = "/video-files/v1/video-files/list-files-in-video-paginated",
90        name = "listFilesInVideoPaginated",
91        accept = conjure_http::client::StdResponseDeserializer
92    )]
93    fn list_files_in_video_paginated(
94        &self,
95        #[auth]
96        auth_: &conjure_object::BearerToken,
97        #[body(serializer = conjure_http::client::StdRequestSerializer)]
98        video_rid: &super::super::super::super::objects::scout::video::api::ListFilesInVideoRequest,
99    ) -> Result<
100        super::super::super::super::objects::scout::video::api::ListFilesInVideoResponse,
101        conjure_http::private::Error,
102    >;
103    /// Updates the metadata for a video file associated with the given RID.
104    #[endpoint(
105        method = PUT,
106        path = "/video-files/v1/video-files/{videoFileRid}",
107        name = "update",
108        accept = conjure_http::client::StdResponseDeserializer
109    )]
110    fn update(
111        &self,
112        #[auth]
113        auth_: &conjure_object::BearerToken,
114        #[path(
115            name = "videoFileRid",
116            encoder = conjure_http::client::conjure::PlainEncoder
117        )]
118        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
119        #[body(serializer = conjure_http::client::StdRequestSerializer)]
120        request: &super::super::super::super::objects::scout::video::api::UpdateVideoFileRequest,
121    ) -> Result<
122        super::super::super::super::objects::scout::video::api::VideoFile,
123        conjure_http::private::Error,
124    >;
125    /// Permanently deletes a video file and all associated segments from the database.
126    /// This operation cannot be undone.
127    #[endpoint(
128        method = DELETE,
129        path = "/video-files/v1/video-files/{videoFileRid}",
130        name = "delete",
131        accept = conjure_http::client::conjure::EmptyResponseDeserializer
132    )]
133    fn delete(
134        &self,
135        #[auth]
136        auth_: &conjure_object::BearerToken,
137        #[path(
138            name = "videoFileRid",
139            encoder = conjure_http::client::conjure::PlainEncoder
140        )]
141        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
142    ) -> Result<(), conjure_http::private::Error>;
143    #[endpoint(
144        method = PUT,
145        path = "/video-files/v1/video-files/{videoFileRid}/archive",
146        name = "archive",
147        accept = conjure_http::client::conjure::EmptyResponseDeserializer
148    )]
149    fn archive(
150        &self,
151        #[auth]
152        auth_: &conjure_object::BearerToken,
153        #[path(
154            name = "videoFileRid",
155            encoder = conjure_http::client::conjure::PlainEncoder
156        )]
157        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
158    ) -> Result<(), conjure_http::private::Error>;
159    #[endpoint(
160        method = PUT,
161        path = "/video-files/v1/video-files/{videoFileRid}/unarchive",
162        name = "unarchive",
163        accept = conjure_http::client::conjure::EmptyResponseDeserializer
164    )]
165    fn unarchive(
166        &self,
167        #[auth]
168        auth_: &conjure_object::BearerToken,
169        #[path(
170            name = "videoFileRid",
171            encoder = conjure_http::client::conjure::PlainEncoder
172        )]
173        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
174    ) -> Result<(), conjure_http::private::Error>;
175    /// Get the latest ingest status for a given video file by RID.
176    #[endpoint(
177        method = GET,
178        path = "/video-files/v1/video-files/{videoFileRid}/ingest-status",
179        name = "getIngestStatus",
180        accept = conjure_http::client::StdResponseDeserializer
181    )]
182    fn get_ingest_status(
183        &self,
184        #[auth]
185        auth_: &conjure_object::BearerToken,
186        #[path(
187            name = "videoFileRid",
188            encoder = conjure_http::client::conjure::PlainEncoder
189        )]
190        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
191    ) -> Result<
192        super::super::super::super::objects::scout::video::api::GetIngestStatusResponse,
193        conjure_http::private::Error,
194    >;
195    /// Get the latest ingest status for a set of given video files by RID.
196    #[endpoint(
197        method = POST,
198        path = "/video-files/v1/videos/batch-get-ingest-status",
199        name = "batchGetIngestStatus",
200        accept = conjure_http::client::conjure::CollectionResponseDeserializer
201    )]
202    fn batch_get_ingest_status(
203        &self,
204        #[auth]
205        auth_: &conjure_object::BearerToken,
206        #[body(serializer = conjure_http::client::StdRequestSerializer)]
207        video_file_rids: &std::collections::BTreeSet<
208            super::super::super::super::objects::api::rids::VideoFileRid,
209        >,
210    ) -> Result<
211        std::collections::BTreeMap<
212            super::super::super::super::objects::api::rids::VideoFileRid,
213            super::super::super::super::objects::scout::video::api::VideoFileIngestStatus,
214        >,
215        conjure_http::private::Error,
216    >;
217    /// Update the latest ingest status for a given video file by RID.
218    #[endpoint(
219        method = PUT,
220        path = "/video-files/v1/videos/{videoFileRid}/ingest-status",
221        name = "updateIngestStatus",
222        accept = conjure_http::client::conjure::EmptyResponseDeserializer
223    )]
224    fn update_ingest_status(
225        &self,
226        #[auth]
227        auth_: &conjure_object::BearerToken,
228        #[path(
229            name = "videoFileRid",
230            encoder = conjure_http::client::conjure::PlainEncoder
231        )]
232        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
233        #[body(serializer = conjure_http::client::StdRequestSerializer)]
234        request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatusRequest,
235    ) -> Result<(), conjure_http::private::Error>;
236    /// Returns the min and max absolute and media timestamps for each segment in a video file.
237    /// To be used during frame-timestamp mapping when playing back videos.
238    #[endpoint(
239        method = GET,
240        path = "/video-files/v1/video-files/{videoFileRid}/segment-summaries",
241        name = "getSegmentSummaries",
242        accept = conjure_http::client::conjure::CollectionResponseDeserializer
243    )]
244    fn get_segment_summaries(
245        &self,
246        #[auth]
247        auth_: &conjure_object::BearerToken,
248        #[path(
249            name = "videoFileRid",
250            encoder = conjure_http::client::conjure::PlainEncoder
251        )]
252        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
253    ) -> Result<
254        Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
255        conjure_http::private::Error,
256    >;
257    /// Generate an HLS playlist for a video file with the given RID to enable playback.
258    /// The HLS playlist will contain links to all of the video segments in the video in sequential order.
259    #[endpoint(
260        method = GET,
261        path = "/video-files/v1/video-files/{videoFileRid}/playlist",
262        name = "getPlaylist",
263        accept = conjure_http::client::conjure::BinaryResponseDeserializer
264    )]
265    fn get_playlist(
266        &self,
267        #[auth]
268        auth_: &conjure_object::BearerToken,
269        #[path(
270            name = "videoFileRid",
271            encoder = conjure_http::client::conjure::PlainEncoder
272        )]
273        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
274    ) -> Result<I, conjure_http::private::Error>;
275}
276/// The video service manages individual video files and their metadata.
277#[conjure_http::conjure_client(name = "VideoFileService")]
278pub trait AsyncVideoFileService<
279    #[response_body]
280    I: conjure_http::private::Stream<
281            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
282        >,
283> {
284    /// Create and persist a video file entity with the given metadata
285    #[endpoint(
286        method = POST,
287        path = "/video-files/v1/video-files",
288        name = "create",
289        accept = conjure_http::client::StdResponseDeserializer
290    )]
291    async fn create(
292        &self,
293        #[auth]
294        auth_: &conjure_object::BearerToken,
295        #[body(serializer = conjure_http::client::StdRequestSerializer)]
296        request: &super::super::super::super::objects::scout::video::api::CreateVideoFileRequest,
297    ) -> Result<
298        super::super::super::super::objects::scout::video::api::VideoFile,
299        conjure_http::private::Error,
300    >;
301    /// Returns video file metadata associated with a video file RID.
302    #[endpoint(
303        method = GET,
304        path = "/video-files/v1/video-files/{videoFileRid}",
305        name = "get",
306        accept = conjure_http::client::StdResponseDeserializer
307    )]
308    async fn get(
309        &self,
310        #[auth]
311        auth_: &conjure_object::BearerToken,
312        #[path(
313            name = "videoFileRid",
314            encoder = conjure_http::client::conjure::PlainEncoder
315        )]
316        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
317    ) -> Result<
318        super::super::super::super::objects::scout::video::api::VideoFile,
319        conjure_http::private::Error,
320    >;
321    /// Returns all video files and their metadata associated with the given RIDs
322    #[endpoint(
323        method = POST,
324        path = "/video-files/v1/video-files/batchGet",
325        name = "batchGet",
326        accept = conjure_http::client::conjure::CollectionResponseDeserializer
327    )]
328    async fn batch_get(
329        &self,
330        #[auth]
331        auth_: &conjure_object::BearerToken,
332        #[body(serializer = conjure_http::client::StdRequestSerializer)]
333        video_file_rids: &std::collections::BTreeSet<
334            super::super::super::super::objects::api::rids::VideoFileRid,
335        >,
336    ) -> Result<
337        std::collections::BTreeSet<
338            super::super::super::super::objects::scout::video::api::VideoFile,
339        >,
340        conjure_http::private::Error,
341    >;
342    #[endpoint(
343        method = POST,
344        path = "/video-files/v1/video-files/list-files-in-video",
345        name = "listFilesInVideo",
346        accept = conjure_http::client::conjure::CollectionResponseDeserializer
347    )]
348    async fn list_files_in_video(
349        &self,
350        #[auth]
351        auth_: &conjure_object::BearerToken,
352        #[body(serializer = conjure_http::client::StdRequestSerializer)]
353        video_rid: &super::super::super::super::objects::api::rids::VideoRid,
354    ) -> Result<
355        std::collections::BTreeSet<
356            super::super::super::super::objects::scout::video::api::VideoFile,
357        >,
358        conjure_http::private::Error,
359    >;
360    /// Returns a paginated list of all video files and their metadata associated with the given video RID.
361    #[endpoint(
362        method = POST,
363        path = "/video-files/v1/video-files/list-files-in-video-paginated",
364        name = "listFilesInVideoPaginated",
365        accept = conjure_http::client::StdResponseDeserializer
366    )]
367    async fn list_files_in_video_paginated(
368        &self,
369        #[auth]
370        auth_: &conjure_object::BearerToken,
371        #[body(serializer = conjure_http::client::StdRequestSerializer)]
372        video_rid: &super::super::super::super::objects::scout::video::api::ListFilesInVideoRequest,
373    ) -> Result<
374        super::super::super::super::objects::scout::video::api::ListFilesInVideoResponse,
375        conjure_http::private::Error,
376    >;
377    /// Updates the metadata for a video file associated with the given RID.
378    #[endpoint(
379        method = PUT,
380        path = "/video-files/v1/video-files/{videoFileRid}",
381        name = "update",
382        accept = conjure_http::client::StdResponseDeserializer
383    )]
384    async fn update(
385        &self,
386        #[auth]
387        auth_: &conjure_object::BearerToken,
388        #[path(
389            name = "videoFileRid",
390            encoder = conjure_http::client::conjure::PlainEncoder
391        )]
392        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
393        #[body(serializer = conjure_http::client::StdRequestSerializer)]
394        request: &super::super::super::super::objects::scout::video::api::UpdateVideoFileRequest,
395    ) -> Result<
396        super::super::super::super::objects::scout::video::api::VideoFile,
397        conjure_http::private::Error,
398    >;
399    /// Permanently deletes a video file and all associated segments from the database.
400    /// This operation cannot be undone.
401    #[endpoint(
402        method = DELETE,
403        path = "/video-files/v1/video-files/{videoFileRid}",
404        name = "delete",
405        accept = conjure_http::client::conjure::EmptyResponseDeserializer
406    )]
407    async fn delete(
408        &self,
409        #[auth]
410        auth_: &conjure_object::BearerToken,
411        #[path(
412            name = "videoFileRid",
413            encoder = conjure_http::client::conjure::PlainEncoder
414        )]
415        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
416    ) -> Result<(), conjure_http::private::Error>;
417    #[endpoint(
418        method = PUT,
419        path = "/video-files/v1/video-files/{videoFileRid}/archive",
420        name = "archive",
421        accept = conjure_http::client::conjure::EmptyResponseDeserializer
422    )]
423    async fn archive(
424        &self,
425        #[auth]
426        auth_: &conjure_object::BearerToken,
427        #[path(
428            name = "videoFileRid",
429            encoder = conjure_http::client::conjure::PlainEncoder
430        )]
431        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
432    ) -> Result<(), conjure_http::private::Error>;
433    #[endpoint(
434        method = PUT,
435        path = "/video-files/v1/video-files/{videoFileRid}/unarchive",
436        name = "unarchive",
437        accept = conjure_http::client::conjure::EmptyResponseDeserializer
438    )]
439    async fn unarchive(
440        &self,
441        #[auth]
442        auth_: &conjure_object::BearerToken,
443        #[path(
444            name = "videoFileRid",
445            encoder = conjure_http::client::conjure::PlainEncoder
446        )]
447        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
448    ) -> Result<(), conjure_http::private::Error>;
449    /// Get the latest ingest status for a given video file by RID.
450    #[endpoint(
451        method = GET,
452        path = "/video-files/v1/video-files/{videoFileRid}/ingest-status",
453        name = "getIngestStatus",
454        accept = conjure_http::client::StdResponseDeserializer
455    )]
456    async fn get_ingest_status(
457        &self,
458        #[auth]
459        auth_: &conjure_object::BearerToken,
460        #[path(
461            name = "videoFileRid",
462            encoder = conjure_http::client::conjure::PlainEncoder
463        )]
464        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
465    ) -> Result<
466        super::super::super::super::objects::scout::video::api::GetIngestStatusResponse,
467        conjure_http::private::Error,
468    >;
469    /// Get the latest ingest status for a set of given video files by RID.
470    #[endpoint(
471        method = POST,
472        path = "/video-files/v1/videos/batch-get-ingest-status",
473        name = "batchGetIngestStatus",
474        accept = conjure_http::client::conjure::CollectionResponseDeserializer
475    )]
476    async fn batch_get_ingest_status(
477        &self,
478        #[auth]
479        auth_: &conjure_object::BearerToken,
480        #[body(serializer = conjure_http::client::StdRequestSerializer)]
481        video_file_rids: &std::collections::BTreeSet<
482            super::super::super::super::objects::api::rids::VideoFileRid,
483        >,
484    ) -> Result<
485        std::collections::BTreeMap<
486            super::super::super::super::objects::api::rids::VideoFileRid,
487            super::super::super::super::objects::scout::video::api::VideoFileIngestStatus,
488        >,
489        conjure_http::private::Error,
490    >;
491    /// Update the latest ingest status for a given video file by RID.
492    #[endpoint(
493        method = PUT,
494        path = "/video-files/v1/videos/{videoFileRid}/ingest-status",
495        name = "updateIngestStatus",
496        accept = conjure_http::client::conjure::EmptyResponseDeserializer
497    )]
498    async fn update_ingest_status(
499        &self,
500        #[auth]
501        auth_: &conjure_object::BearerToken,
502        #[path(
503            name = "videoFileRid",
504            encoder = conjure_http::client::conjure::PlainEncoder
505        )]
506        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
507        #[body(serializer = conjure_http::client::StdRequestSerializer)]
508        request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatusRequest,
509    ) -> Result<(), conjure_http::private::Error>;
510    /// Returns the min and max absolute and media timestamps for each segment in a video file.
511    /// To be used during frame-timestamp mapping when playing back videos.
512    #[endpoint(
513        method = GET,
514        path = "/video-files/v1/video-files/{videoFileRid}/segment-summaries",
515        name = "getSegmentSummaries",
516        accept = conjure_http::client::conjure::CollectionResponseDeserializer
517    )]
518    async fn get_segment_summaries(
519        &self,
520        #[auth]
521        auth_: &conjure_object::BearerToken,
522        #[path(
523            name = "videoFileRid",
524            encoder = conjure_http::client::conjure::PlainEncoder
525        )]
526        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
527    ) -> Result<
528        Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
529        conjure_http::private::Error,
530    >;
531    /// Generate an HLS playlist for a video file with the given RID to enable playback.
532    /// The HLS playlist will contain links to all of the video segments in the video in sequential order.
533    #[endpoint(
534        method = GET,
535        path = "/video-files/v1/video-files/{videoFileRid}/playlist",
536        name = "getPlaylist",
537        accept = conjure_http::client::conjure::BinaryResponseDeserializer
538    )]
539    async fn get_playlist(
540        &self,
541        #[auth]
542        auth_: &conjure_object::BearerToken,
543        #[path(
544            name = "videoFileRid",
545            encoder = conjure_http::client::conjure::PlainEncoder
546        )]
547        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
548    ) -> Result<I, conjure_http::private::Error>;
549}
550/// The video service manages individual video files and their metadata.
551#[conjure_http::conjure_client(name = "VideoFileService", local)]
552pub trait LocalAsyncVideoFileService<
553    #[response_body]
554    I: conjure_http::private::Stream<
555            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
556        >,
557> {
558    /// Create and persist a video file entity with the given metadata
559    #[endpoint(
560        method = POST,
561        path = "/video-files/v1/video-files",
562        name = "create",
563        accept = conjure_http::client::StdResponseDeserializer
564    )]
565    async fn create(
566        &self,
567        #[auth]
568        auth_: &conjure_object::BearerToken,
569        #[body(serializer = conjure_http::client::StdRequestSerializer)]
570        request: &super::super::super::super::objects::scout::video::api::CreateVideoFileRequest,
571    ) -> Result<
572        super::super::super::super::objects::scout::video::api::VideoFile,
573        conjure_http::private::Error,
574    >;
575    /// Returns video file metadata associated with a video file RID.
576    #[endpoint(
577        method = GET,
578        path = "/video-files/v1/video-files/{videoFileRid}",
579        name = "get",
580        accept = conjure_http::client::StdResponseDeserializer
581    )]
582    async fn get(
583        &self,
584        #[auth]
585        auth_: &conjure_object::BearerToken,
586        #[path(
587            name = "videoFileRid",
588            encoder = conjure_http::client::conjure::PlainEncoder
589        )]
590        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
591    ) -> Result<
592        super::super::super::super::objects::scout::video::api::VideoFile,
593        conjure_http::private::Error,
594    >;
595    /// Returns all video files and their metadata associated with the given RIDs
596    #[endpoint(
597        method = POST,
598        path = "/video-files/v1/video-files/batchGet",
599        name = "batchGet",
600        accept = conjure_http::client::conjure::CollectionResponseDeserializer
601    )]
602    async fn batch_get(
603        &self,
604        #[auth]
605        auth_: &conjure_object::BearerToken,
606        #[body(serializer = conjure_http::client::StdRequestSerializer)]
607        video_file_rids: &std::collections::BTreeSet<
608            super::super::super::super::objects::api::rids::VideoFileRid,
609        >,
610    ) -> Result<
611        std::collections::BTreeSet<
612            super::super::super::super::objects::scout::video::api::VideoFile,
613        >,
614        conjure_http::private::Error,
615    >;
616    #[endpoint(
617        method = POST,
618        path = "/video-files/v1/video-files/list-files-in-video",
619        name = "listFilesInVideo",
620        accept = conjure_http::client::conjure::CollectionResponseDeserializer
621    )]
622    async fn list_files_in_video(
623        &self,
624        #[auth]
625        auth_: &conjure_object::BearerToken,
626        #[body(serializer = conjure_http::client::StdRequestSerializer)]
627        video_rid: &super::super::super::super::objects::api::rids::VideoRid,
628    ) -> Result<
629        std::collections::BTreeSet<
630            super::super::super::super::objects::scout::video::api::VideoFile,
631        >,
632        conjure_http::private::Error,
633    >;
634    /// Returns a paginated list of all video files and their metadata associated with the given video RID.
635    #[endpoint(
636        method = POST,
637        path = "/video-files/v1/video-files/list-files-in-video-paginated",
638        name = "listFilesInVideoPaginated",
639        accept = conjure_http::client::StdResponseDeserializer
640    )]
641    async fn list_files_in_video_paginated(
642        &self,
643        #[auth]
644        auth_: &conjure_object::BearerToken,
645        #[body(serializer = conjure_http::client::StdRequestSerializer)]
646        video_rid: &super::super::super::super::objects::scout::video::api::ListFilesInVideoRequest,
647    ) -> Result<
648        super::super::super::super::objects::scout::video::api::ListFilesInVideoResponse,
649        conjure_http::private::Error,
650    >;
651    /// Updates the metadata for a video file associated with the given RID.
652    #[endpoint(
653        method = PUT,
654        path = "/video-files/v1/video-files/{videoFileRid}",
655        name = "update",
656        accept = conjure_http::client::StdResponseDeserializer
657    )]
658    async fn update(
659        &self,
660        #[auth]
661        auth_: &conjure_object::BearerToken,
662        #[path(
663            name = "videoFileRid",
664            encoder = conjure_http::client::conjure::PlainEncoder
665        )]
666        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
667        #[body(serializer = conjure_http::client::StdRequestSerializer)]
668        request: &super::super::super::super::objects::scout::video::api::UpdateVideoFileRequest,
669    ) -> Result<
670        super::super::super::super::objects::scout::video::api::VideoFile,
671        conjure_http::private::Error,
672    >;
673    /// Permanently deletes a video file and all associated segments from the database.
674    /// This operation cannot be undone.
675    #[endpoint(
676        method = DELETE,
677        path = "/video-files/v1/video-files/{videoFileRid}",
678        name = "delete",
679        accept = conjure_http::client::conjure::EmptyResponseDeserializer
680    )]
681    async fn delete(
682        &self,
683        #[auth]
684        auth_: &conjure_object::BearerToken,
685        #[path(
686            name = "videoFileRid",
687            encoder = conjure_http::client::conjure::PlainEncoder
688        )]
689        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
690    ) -> Result<(), conjure_http::private::Error>;
691    #[endpoint(
692        method = PUT,
693        path = "/video-files/v1/video-files/{videoFileRid}/archive",
694        name = "archive",
695        accept = conjure_http::client::conjure::EmptyResponseDeserializer
696    )]
697    async fn archive(
698        &self,
699        #[auth]
700        auth_: &conjure_object::BearerToken,
701        #[path(
702            name = "videoFileRid",
703            encoder = conjure_http::client::conjure::PlainEncoder
704        )]
705        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
706    ) -> Result<(), conjure_http::private::Error>;
707    #[endpoint(
708        method = PUT,
709        path = "/video-files/v1/video-files/{videoFileRid}/unarchive",
710        name = "unarchive",
711        accept = conjure_http::client::conjure::EmptyResponseDeserializer
712    )]
713    async fn unarchive(
714        &self,
715        #[auth]
716        auth_: &conjure_object::BearerToken,
717        #[path(
718            name = "videoFileRid",
719            encoder = conjure_http::client::conjure::PlainEncoder
720        )]
721        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
722    ) -> Result<(), conjure_http::private::Error>;
723    /// Get the latest ingest status for a given video file by RID.
724    #[endpoint(
725        method = GET,
726        path = "/video-files/v1/video-files/{videoFileRid}/ingest-status",
727        name = "getIngestStatus",
728        accept = conjure_http::client::StdResponseDeserializer
729    )]
730    async fn get_ingest_status(
731        &self,
732        #[auth]
733        auth_: &conjure_object::BearerToken,
734        #[path(
735            name = "videoFileRid",
736            encoder = conjure_http::client::conjure::PlainEncoder
737        )]
738        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
739    ) -> Result<
740        super::super::super::super::objects::scout::video::api::GetIngestStatusResponse,
741        conjure_http::private::Error,
742    >;
743    /// Get the latest ingest status for a set of given video files by RID.
744    #[endpoint(
745        method = POST,
746        path = "/video-files/v1/videos/batch-get-ingest-status",
747        name = "batchGetIngestStatus",
748        accept = conjure_http::client::conjure::CollectionResponseDeserializer
749    )]
750    async fn batch_get_ingest_status(
751        &self,
752        #[auth]
753        auth_: &conjure_object::BearerToken,
754        #[body(serializer = conjure_http::client::StdRequestSerializer)]
755        video_file_rids: &std::collections::BTreeSet<
756            super::super::super::super::objects::api::rids::VideoFileRid,
757        >,
758    ) -> Result<
759        std::collections::BTreeMap<
760            super::super::super::super::objects::api::rids::VideoFileRid,
761            super::super::super::super::objects::scout::video::api::VideoFileIngestStatus,
762        >,
763        conjure_http::private::Error,
764    >;
765    /// Update the latest ingest status for a given video file by RID.
766    #[endpoint(
767        method = PUT,
768        path = "/video-files/v1/videos/{videoFileRid}/ingest-status",
769        name = "updateIngestStatus",
770        accept = conjure_http::client::conjure::EmptyResponseDeserializer
771    )]
772    async fn update_ingest_status(
773        &self,
774        #[auth]
775        auth_: &conjure_object::BearerToken,
776        #[path(
777            name = "videoFileRid",
778            encoder = conjure_http::client::conjure::PlainEncoder
779        )]
780        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
781        #[body(serializer = conjure_http::client::StdRequestSerializer)]
782        request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatusRequest,
783    ) -> Result<(), conjure_http::private::Error>;
784    /// Returns the min and max absolute and media timestamps for each segment in a video file.
785    /// To be used during frame-timestamp mapping when playing back videos.
786    #[endpoint(
787        method = GET,
788        path = "/video-files/v1/video-files/{videoFileRid}/segment-summaries",
789        name = "getSegmentSummaries",
790        accept = conjure_http::client::conjure::CollectionResponseDeserializer
791    )]
792    async fn get_segment_summaries(
793        &self,
794        #[auth]
795        auth_: &conjure_object::BearerToken,
796        #[path(
797            name = "videoFileRid",
798            encoder = conjure_http::client::conjure::PlainEncoder
799        )]
800        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
801    ) -> Result<
802        Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
803        conjure_http::private::Error,
804    >;
805    /// Generate an HLS playlist for a video file with the given RID to enable playback.
806    /// The HLS playlist will contain links to all of the video segments in the video in sequential order.
807    #[endpoint(
808        method = GET,
809        path = "/video-files/v1/video-files/{videoFileRid}/playlist",
810        name = "getPlaylist",
811        accept = conjure_http::client::conjure::BinaryResponseDeserializer
812    )]
813    async fn get_playlist(
814        &self,
815        #[auth]
816        auth_: &conjure_object::BearerToken,
817        #[path(
818            name = "videoFileRid",
819            encoder = conjure_http::client::conjure::PlainEncoder
820        )]
821        video_file_rid: &super::super::super::super::objects::api::rids::VideoFileRid,
822    ) -> Result<I, conjure_http::private::Error>;
823}