Skip to main content

nominal_api/conjure/objects/scout/video/api/
create_segments_request.rs

1#[derive(
2    Debug,
3    Clone,
4    conjure_object::serde::Serialize,
5    conjure_object::serde::Deserialize,
6    conjure_object::private::DeriveWith
7)]
8#[serde(crate = "conjure_object::serde")]
9#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[conjure_object::private::staged_builder::staged_builder]
11#[builder(crate = conjure_object::private::staged_builder, update, inline)]
12pub struct CreateSegmentsRequest {
13    #[builder(default, list(item(type = super::CreateSegment)))]
14    #[serde(rename = "requests", skip_serializing_if = "Vec::is_empty", default)]
15    requests: Vec<super::CreateSegment>,
16    #[builder(default, into)]
17    #[serde(rename = "seriesUuid", skip_serializing_if = "Option::is_none", default)]
18    series_uuid: Option<conjure_object::Uuid>,
19    #[builder(default, into)]
20    #[serde(
21        rename = "overWriteSegments",
22        skip_serializing_if = "Option::is_none",
23        default
24    )]
25    over_write_segments: Option<bool>,
26}
27impl CreateSegmentsRequest {
28    /// Constructs a new instance of the type.
29    #[inline]
30    pub fn new() -> Self {
31        Self::builder().build()
32    }
33    #[inline]
34    pub fn requests(&self) -> &[super::CreateSegment] {
35        &*self.requests
36    }
37    #[inline]
38    pub fn series_uuid(&self) -> Option<conjure_object::Uuid> {
39        self.series_uuid.as_ref().map(|o| *o)
40    }
41    /// If true, overlapping segments from other video files within the same video will be deleted
42    /// before inserting new segments. The cached segment metadata for affected files will be recomputed.
43    #[inline]
44    pub fn over_write_segments(&self) -> Option<bool> {
45        self.over_write_segments.as_ref().map(|o| *o)
46    }
47}