nominal_api/conjure/objects/scout/notebook/api/
notebook_metadata.rs1#[derive(
2 Debug,
3 Clone,
4 conjure_object::serde::Serialize,
5 conjure_object::serde::Deserialize,
6 PartialEq,
7 Eq,
8 PartialOrd,
9 Ord,
10 Hash
11)]
12#[serde(crate = "conjure_object::serde")]
13#[conjure_object::private::staged_builder::staged_builder]
14#[builder(crate = conjure_object::private::staged_builder, update, inline)]
15pub struct NotebookMetadata {
16 #[builder(default, into)]
17 #[serde(rename = "runRid", skip_serializing_if = "Option::is_none", default)]
18 run_rid: Option<super::super::super::run::api::RunRid>,
19 #[builder(custom(type = super::NotebookDataScope, convert = Box::new))]
20 #[serde(rename = "dataScope")]
21 data_scope: Box<super::NotebookDataScope>,
22 #[serde(rename = "notebookType")]
23 notebook_type: super::NotebookType,
24 #[builder(into)]
25 #[serde(rename = "title")]
26 title: String,
27 #[builder(into)]
28 #[serde(rename = "description")]
29 description: String,
30 #[serde(rename = "isDraft")]
31 is_draft: bool,
32 #[serde(rename = "isArchived")]
33 is_archived: bool,
34 #[builder(custom(type = super::Lock, convert = Box::new))]
35 #[serde(rename = "lock")]
36 lock: Box<super::Lock>,
37 #[serde(rename = "createdByRid")]
38 created_by_rid: super::super::super::rids::api::UserRid,
39 #[serde(rename = "createdAt")]
40 created_at: conjure_object::DateTime<conjure_object::Utc>,
41 #[builder(default, into)]
42 #[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none", default)]
43 updated_at: Option<conjure_object::DateTime<conjure_object::Utc>>,
44 #[builder(
45 default,
46 map(
47 key(type = super::super::super::super::api::PropertyName),
48 value(type = super::super::super::super::api::PropertyValue)
49 )
50 )]
51 #[serde(
52 rename = "properties",
53 skip_serializing_if = "std::collections::BTreeMap::is_empty",
54 default
55 )]
56 properties: std::collections::BTreeMap<
57 super::super::super::super::api::PropertyName,
58 super::super::super::super::api::PropertyValue,
59 >,
60 #[builder(default, set(item(type = super::super::super::super::api::Label)))]
61 #[serde(
62 rename = "labels",
63 skip_serializing_if = "std::collections::BTreeSet::is_empty",
64 default
65 )]
66 labels: std::collections::BTreeSet<super::super::super::super::api::Label>,
67 #[builder(
68 default,
69 custom(
70 type = impl
71 Into<Option<super::super::super::super::api::ThemeAwareImage>>,
72 convert = |v|v.into().map(Box::new)
73 )
74 )]
75 #[serde(rename = "previewImage", skip_serializing_if = "Option::is_none", default)]
76 preview_image: Option<Box<super::super::super::super::api::ThemeAwareImage>>,
77}
78impl NotebookMetadata {
79 #[inline]
81 pub fn run_rid(&self) -> Option<&super::super::super::run::api::RunRid> {
82 self.run_rid.as_ref().map(|o| &*o)
83 }
84 #[inline]
85 pub fn data_scope(&self) -> &super::NotebookDataScope {
86 &*self.data_scope
87 }
88 #[inline]
89 pub fn notebook_type(&self) -> &super::NotebookType {
90 &self.notebook_type
91 }
92 #[inline]
93 pub fn title(&self) -> &str {
94 &*self.title
95 }
96 #[inline]
97 pub fn description(&self) -> &str {
98 &*self.description
99 }
100 #[inline]
101 pub fn is_draft(&self) -> bool {
102 self.is_draft
103 }
104 #[inline]
105 pub fn is_archived(&self) -> bool {
106 self.is_archived
107 }
108 #[inline]
109 pub fn lock(&self) -> &super::Lock {
110 &*self.lock
111 }
112 #[inline]
113 pub fn created_by_rid(&self) -> &super::super::super::rids::api::UserRid {
114 &self.created_by_rid
115 }
116 #[inline]
117 pub fn created_at(&self) -> conjure_object::DateTime<conjure_object::Utc> {
118 self.created_at
119 }
120 #[inline]
122 pub fn updated_at(&self) -> Option<conjure_object::DateTime<conjure_object::Utc>> {
123 self.updated_at.as_ref().map(|o| *o)
124 }
125 #[inline]
126 pub fn properties(
127 &self,
128 ) -> &std::collections::BTreeMap<
129 super::super::super::super::api::PropertyName,
130 super::super::super::super::api::PropertyValue,
131 > {
132 &self.properties
133 }
134 #[inline]
135 pub fn labels(
136 &self,
137 ) -> &std::collections::BTreeSet<super::super::super::super::api::Label> {
138 &self.labels
139 }
140 #[inline]
141 pub fn preview_image(
142 &self,
143 ) -> Option<&super::super::super::super::api::ThemeAwareImage> {
144 self.preview_image.as_ref().map(|o| &**o)
145 }
146}