Skip to main content

nominal_api_conjure/conjure/objects/authentication/api/
user_settings.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 UserSettings {
16    #[builder(default, into)]
17    #[serde(
18        rename = "defaultTimeRangeType",
19        skip_serializing_if = "Option::is_none",
20        default
21    )]
22    default_time_range_type: Option<super::DefaultTimeRangeTypeSetting>,
23    #[builder(default, into)]
24    #[serde(rename = "appearance", skip_serializing_if = "Option::is_none", default)]
25    appearance: Option<super::AppearanceSetting>,
26    #[builder(default, into)]
27    #[serde(rename = "timezone", skip_serializing_if = "Option::is_none", default)]
28    timezone: Option<super::TimezoneSetting>,
29    #[builder(default, into)]
30    #[serde(
31        rename = "timeSeriesHoverTooltipConcise",
32        skip_serializing_if = "Option::is_none",
33        default
34    )]
35    time_series_hover_tooltip_concise: Option<bool>,
36    #[builder(default, into)]
37    #[serde(
38        rename = "chartHoverTooltipMode",
39        skip_serializing_if = "Option::is_none",
40        default
41    )]
42    chart_hover_tooltip_mode: Option<super::ChartTooltipModeSetting>,
43    #[builder(
44        default,
45        custom(
46            type = impl
47            Into<Option<super::DefaultNumberFormatConfigurations>>,
48            convert = |v|v.into().map(Box::new)
49        )
50    )]
51    #[serde(
52        rename = "defaultNumberFormats",
53        skip_serializing_if = "Option::is_none",
54        default
55    )]
56    default_number_formats: Option<Box<super::DefaultNumberFormatConfigurations>>,
57    #[builder(
58        default,
59        custom(
60            type = impl
61            Into<Option<super::super::super::scout::chartdefinition::api::RelativeTimestampFormat>>,
62            convert = |v|v.into().map(Box::new)
63        )
64    )]
65    #[serde(
66        rename = "relativeTimestampFormat",
67        skip_serializing_if = "Option::is_none",
68        default
69    )]
70    relative_timestamp_format: Option<
71        Box<super::super::super::scout::chartdefinition::api::RelativeTimestampFormat>,
72    >,
73    #[builder(default, into)]
74    #[serde(rename = "vimModeEnabled", skip_serializing_if = "Option::is_none", default)]
75    vim_mode_enabled: Option<bool>,
76    #[builder(default, into)]
77    #[serde(
78        rename = "defaultWorkbookVisibleInSearch",
79        skip_serializing_if = "Option::is_none",
80        default
81    )]
82    default_workbook_visible_in_search: Option<bool>,
83}
84impl UserSettings {
85    /// Constructs a new instance of the type.
86    #[inline]
87    pub fn new() -> Self {
88        Self::builder().build()
89    }
90    #[inline]
91    pub fn default_time_range_type(
92        &self,
93    ) -> Option<&super::DefaultTimeRangeTypeSetting> {
94        self.default_time_range_type.as_ref().map(|o| &*o)
95    }
96    #[inline]
97    pub fn appearance(&self) -> Option<&super::AppearanceSetting> {
98        self.appearance.as_ref().map(|o| &*o)
99    }
100    #[inline]
101    pub fn timezone(&self) -> Option<&super::TimezoneSetting> {
102        self.timezone.as_ref().map(|o| &*o)
103    }
104    #[deprecated(
105        note = "Use `chartHoverTooltipMode` instead. If `chartHoverTooltipMode` is not set, this field will be\nused: `true` as `SINGLE` and `false` as `VERBOSE`.\n"
106    )]
107    #[inline]
108    pub fn time_series_hover_tooltip_concise(&self) -> Option<bool> {
109        self.time_series_hover_tooltip_concise.as_ref().map(|o| *o)
110    }
111    #[inline]
112    pub fn chart_hover_tooltip_mode(&self) -> Option<&super::ChartTooltipModeSetting> {
113        self.chart_hover_tooltip_mode.as_ref().map(|o| &*o)
114    }
115    #[inline]
116    pub fn default_number_formats(
117        &self,
118    ) -> Option<&super::DefaultNumberFormatConfigurations> {
119        self.default_number_formats.as_ref().map(|o| &**o)
120    }
121    /// Relative timestamp display preference.
122    #[inline]
123    pub fn relative_timestamp_format(
124        &self,
125    ) -> Option<
126        &super::super::super::scout::chartdefinition::api::RelativeTimestampFormat,
127    > {
128        self.relative_timestamp_format.as_ref().map(|o| &**o)
129    }
130    #[inline]
131    pub fn vim_mode_enabled(&self) -> Option<bool> {
132        self.vim_mode_enabled.as_ref().map(|o| *o)
133    }
134    /// Whether newly created workbooks are visible in search by default.
135    /// If absent, the organization default applies.
136    #[inline]
137    pub fn default_workbook_visible_in_search(&self) -> Option<bool> {
138        self.default_workbook_visible_in_search.as_ref().map(|o| *o)
139    }
140}