nominal_api_conjure/conjure/objects/scout/notebook/api/
notebook.rs1#[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 #[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}