Skip to main content

nominal_api/conjure/objects/scout/notebook/api/
notebook_metadata.rs

1#[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    /// deprecated. Use dataScope instead
80    #[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    /// The timestamp when the workbook was last updated
121    #[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}