Skip to main content

nominal_api_conjure/conjure/objects/scout/notebook/api/
notebook.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 Notebook {
13    #[serde(rename = "rid")]
14    rid: super::super::super::rids::api::NotebookRid,
15    #[serde(rename = "snapshotRid")]
16    snapshot_rid: super::super::super::rids::api::SnapshotRid,
17    #[serde(rename = "snapshotAuthorRid")]
18    snapshot_author_rid: super::super::super::rids::api::UserRid,
19    #[serde(rename = "snapshotCreatedAt")]
20    snapshot_created_at: conjure_object::DateTime<conjure_object::Utc>,
21    #[builder(
22        default,
23        custom(
24            type = impl
25            Into<Option<super::NotebookDataScope>>,
26            convert = |v|v.into().map(Box::new)
27        )
28    )]
29    #[serde(
30        rename = "snapshotDataScope",
31        skip_serializing_if = "Option::is_none",
32        default
33    )]
34    snapshot_data_scope: Option<Box<super::NotebookDataScope>>,
35    #[builder(custom(type = super::NotebookMetadata, convert = Box::new))]
36    #[serde(rename = "metadata")]
37    metadata: Box<super::NotebookMetadata>,
38    #[builder(into)]
39    #[serde(rename = "stateAsJson")]
40    state_as_json: String,
41    #[builder(default, into)]
42    #[serde(rename = "charts", skip_serializing_if = "Option::is_none", default)]
43    charts: Option<Vec<super::ChartWithOverlays>>,
44    #[builder(
45        custom(
46            type = super::super::super::layout::api::WorkbookLayout,
47            convert = Box::new
48        )
49    )]
50    #[serde(rename = "layout")]
51    layout: Box<super::super::super::layout::api::WorkbookLayout>,
52    #[builder(
53        default,
54        custom(
55            type = impl
56            Into<Option<super::super::super::workbookcommon::api::WorkbookContent>>,
57            convert = |v|v.into().map(Box::new)
58        )
59    )]
60    #[serde(rename = "content", skip_serializing_if = "Option::is_none", default)]
61    content: Option<Box<super::super::super::workbookcommon::api::WorkbookContent>>,
62    #[builder(
63        custom(
64            type = super::super::super::workbookcommon::api::UnifiedWorkbookContent,
65            convert = Box::new
66        )
67    )]
68    #[serde(rename = "contentV2")]
69    content_v2: Box<super::super::super::workbookcommon::api::UnifiedWorkbookContent>,
70    #[builder(
71        default,
72        set(item(type = super::super::super::workbookcommon::api::EventReference))
73    )]
74    #[serde(
75        rename = "eventRefs",
76        skip_serializing_if = "std::collections::BTreeSet::is_empty",
77        default
78    )]
79    event_refs: std::collections::BTreeSet<
80        super::super::super::workbookcommon::api::EventReference,
81    >,
82    #[builder(default, into)]
83    #[serde(rename = "checkAlertRefs", skip_serializing_if = "Option::is_none", default)]
84    check_alert_refs: Option<
85        std::collections::BTreeSet<
86            super::super::super::workbookcommon::api::CheckAlertReference,
87        >,
88    >,
89}
90impl Notebook {
91    #[inline]
92    pub fn rid(&self) -> &super::super::super::rids::api::NotebookRid {
93        &self.rid
94    }
95    #[inline]
96    pub fn snapshot_rid(&self) -> &super::super::super::rids::api::SnapshotRid {
97        &self.snapshot_rid
98    }
99    #[inline]
100    pub fn snapshot_author_rid(&self) -> &super::super::super::rids::api::UserRid {
101        &self.snapshot_author_rid
102    }
103    #[inline]
104    pub fn snapshot_created_at(&self) -> conjure_object::DateTime<conjure_object::Utc> {
105        self.snapshot_created_at
106    }
107    /// The data scope recorded when this snapshot was created. Populated only for exact snapshot reads
108    /// requested with a snapshot RID, and absent when the historic snapshot predates scope recording.
109    /// `metadata.dataScope` remains the workbook's current mutable scope and must not be treated as
110    /// historic snapshot evidence.
111    #[inline]
112    pub fn snapshot_data_scope(&self) -> Option<&super::NotebookDataScope> {
113        self.snapshot_data_scope.as_ref().map(|o| &**o)
114    }
115    #[inline]
116    pub fn metadata(&self) -> &super::NotebookMetadata {
117        &*self.metadata
118    }
119    #[inline]
120    pub fn state_as_json(&self) -> &str {
121        &*self.state_as_json
122    }
123    #[deprecated(note = "charts are now stored in contentV2")]
124    #[inline]
125    pub fn charts(&self) -> Option<&[super::ChartWithOverlays]> {
126        self.charts.as_ref().map(|o| &**o)
127    }
128    #[inline]
129    pub fn layout(&self) -> &super::super::super::layout::api::WorkbookLayout {
130        &*self.layout
131    }
132    #[deprecated(note = "use contentV2 instead")]
133    #[inline]
134    pub fn content(
135        &self,
136    ) -> Option<&super::super::super::workbookcommon::api::WorkbookContent> {
137        self.content.as_ref().map(|o| &**o)
138    }
139    #[inline]
140    pub fn content_v2(
141        &self,
142    ) -> &super::super::super::workbookcommon::api::UnifiedWorkbookContent {
143        &*self.content_v2
144    }
145    #[inline]
146    pub fn event_refs(
147        &self,
148    ) -> &std::collections::BTreeSet<
149        super::super::super::workbookcommon::api::EventReference,
150    > {
151        &self.event_refs
152    }
153    #[deprecated(
154        note = "CheckAlerts are no longer supported and will be removed in the future.\nUse eventRefs to pin events to workbooks instead.\n"
155    )]
156    #[inline]
157    pub fn check_alert_refs(
158        &self,
159    ) -> Option<
160        &std::collections::BTreeSet<
161            super::super::super::workbookcommon::api::CheckAlertReference,
162        >,
163    > {
164        self.check_alert_refs.as_ref().map(|o| &*o)
165    }
166}