nominal_api/conjure/objects/scout/video/api/
video_file.rs1#[derive(
3 Debug,
4 Clone,
5 conjure_object::serde::Serialize,
6 conjure_object::serde::Deserialize,
7 conjure_object::private::DeriveWith
8)]
9#[serde(crate = "conjure_object::serde")]
10#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
11#[conjure_object::private::staged_builder::staged_builder]
12#[builder(crate = conjure_object::private::staged_builder, update, inline)]
13pub struct VideoFile {
14 #[serde(rename = "rid")]
15 rid: super::super::super::super::api::rids::VideoFileRid,
16 #[serde(rename = "videoRid")]
17 video_rid: super::super::super::super::api::rids::VideoRid,
18 #[builder(into)]
19 #[serde(rename = "title")]
20 title: String,
21 #[builder(default, into)]
22 #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
23 description: Option<String>,
24 #[serde(rename = "createdBy")]
25 created_by: conjure_object::ResourceIdentifier,
26 #[serde(rename = "createdAt")]
27 created_at: conjure_object::DateTime<conjure_object::Utc>,
28 #[builder(custom(type = super::VideoFileOriginMetadata, convert = Box::new))]
29 #[serde(rename = "originMetadata")]
30 origin_metadata: Box<super::VideoFileOriginMetadata>,
31 #[builder(
32 default,
33 custom(
34 type = impl
35 Into<Option<super::VideoFileSegmentsMetadata>>,
36 convert = |v|v.into().map(Box::new)
37 )
38 )]
39 #[serde(
40 rename = "segmentMetadata",
41 skip_serializing_if = "Option::is_none",
42 default
43 )]
44 segment_metadata: Option<Box<super::VideoFileSegmentsMetadata>>,
45}
46impl VideoFile {
47 #[inline]
48 pub fn rid(&self) -> &super::super::super::super::api::rids::VideoFileRid {
49 &self.rid
50 }
51 #[inline]
52 pub fn video_rid(&self) -> &super::super::super::super::api::rids::VideoRid {
53 &self.video_rid
54 }
55 #[inline]
56 pub fn title(&self) -> &str {
57 &*self.title
58 }
59 #[inline]
60 pub fn description(&self) -> Option<&str> {
61 self.description.as_ref().map(|o| &**o)
62 }
63 #[inline]
64 pub fn created_by(&self) -> &conjure_object::ResourceIdentifier {
65 &self.created_by
66 }
67 #[inline]
68 pub fn created_at(&self) -> conjure_object::DateTime<conjure_object::Utc> {
69 self.created_at
70 }
71 #[inline]
72 pub fn origin_metadata(&self) -> &super::VideoFileOriginMetadata {
73 &*self.origin_metadata
74 }
75 #[inline]
76 pub fn segment_metadata(&self) -> Option<&super::VideoFileSegmentsMetadata> {
77 self.segment_metadata.as_ref().map(|o| &**o)
78 }
79}