Skip to main content

nominal_api/conjure/objects/scout/notebook/api/
update_notebook_metadata_request.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 UpdateNotebookMetadataRequest {
16    #[builder(default, into)]
17    #[serde(rename = "title", skip_serializing_if = "Option::is_none", default)]
18    title: Option<String>,
19    #[builder(
20        default,
21        custom(
22            type = impl
23            Into<Option<super::NotebookDataScope>>,
24            convert = |v|v.into().map(Box::new)
25        )
26    )]
27    #[serde(rename = "dataScope", skip_serializing_if = "Option::is_none", default)]
28    data_scope: Option<Box<super::NotebookDataScope>>,
29    #[builder(default, into)]
30    #[serde(rename = "description", skip_serializing_if = "Option::is_none", default)]
31    description: Option<String>,
32    #[builder(default, into)]
33    #[serde(rename = "properties", skip_serializing_if = "Option::is_none", default)]
34    properties: Option<
35        std::collections::BTreeMap<
36            super::super::super::super::api::PropertyName,
37            super::super::super::super::api::PropertyValue,
38        >,
39    >,
40    #[builder(default, into)]
41    #[serde(rename = "labels", skip_serializing_if = "Option::is_none", default)]
42    labels: Option<std::collections::BTreeSet<super::super::super::super::api::Label>>,
43    #[builder(default, into)]
44    #[serde(rename = "isDraft", skip_serializing_if = "Option::is_none", default)]
45    is_draft: Option<bool>,
46    #[builder(
47        default,
48        custom(
49            type = impl
50            Into<Option<super::super::super::super::api::ThemeAwareImage>>,
51            convert = |v|v.into().map(Box::new)
52        )
53    )]
54    #[serde(rename = "previewImage", skip_serializing_if = "Option::is_none", default)]
55    preview_image: Option<Box<super::super::super::super::api::ThemeAwareImage>>,
56    #[builder(default, into)]
57    #[serde(rename = "isLocked", skip_serializing_if = "Option::is_none", default)]
58    is_locked: Option<bool>,
59}
60impl UpdateNotebookMetadataRequest {
61    /// Constructs a new instance of the type.
62    #[inline]
63    pub fn new() -> Self {
64        Self::builder().build()
65    }
66    #[inline]
67    pub fn title(&self) -> Option<&str> {
68        self.title.as_ref().map(|o| &**o)
69    }
70    /// Optional for backcompatibility.
71    #[inline]
72    pub fn data_scope(&self) -> Option<&super::NotebookDataScope> {
73        self.data_scope.as_ref().map(|o| &**o)
74    }
75    #[inline]
76    pub fn description(&self) -> Option<&str> {
77        self.description.as_ref().map(|o| &**o)
78    }
79    #[inline]
80    pub fn properties(
81        &self,
82    ) -> Option<
83        &std::collections::BTreeMap<
84            super::super::super::super::api::PropertyName,
85            super::super::super::super::api::PropertyValue,
86        >,
87    > {
88        self.properties.as_ref().map(|o| &*o)
89    }
90    #[inline]
91    pub fn labels(
92        &self,
93    ) -> Option<&std::collections::BTreeSet<super::super::super::super::api::Label>> {
94        self.labels.as_ref().map(|o| &*o)
95    }
96    #[inline]
97    pub fn is_draft(&self) -> Option<bool> {
98        self.is_draft.as_ref().map(|o| *o)
99    }
100    /// Theme-aware preview image for the workbook. When provided, replaces the existing preview image.
101    #[inline]
102    pub fn preview_image(
103        &self,
104    ) -> Option<&super::super::super::super::api::ThemeAwareImage> {
105        self.preview_image.as_ref().map(|o| &**o)
106    }
107    /// Whether to lock or unlock the workbook. If omitted, the original lock state will remain unchanged.
108    /// When provided, the server derives the locking user from the auth header and generates the lock
109    /// timestamp at write time.
110    #[inline]
111    pub fn is_locked(&self) -> Option<bool> {
112        self.is_locked.as_ref().map(|o| *o)
113    }
114}