Skip to main content

nominal_api/conjure/objects/scout/run/api/
search_run_channels_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 SearchRunChannelsRequest {
16    #[builder(into)]
17    #[serde(rename = "searchText")]
18    search_text: String,
19    #[builder(default, into)]
20    #[serde(rename = "refNameFilter", skip_serializing_if = "Option::is_none", default)]
21    ref_name_filter: Option<
22        std::collections::BTreeSet<super::super::super::api::DataSourceRefName>,
23    >,
24    #[builder(
25        default,
26        map(
27            key(type = super::super::super::api::DataSourceRefName),
28            value(
29                custom(
30                    type = impl
31                    IntoIterator<Item = super::super::super::super::api::Channel>,
32                    convert = |v|v.into_iter().collect()
33                )
34            )
35        )
36    )]
37    #[serde(
38        rename = "previouslySelectedChannels",
39        skip_serializing_if = "std::collections::BTreeMap::is_empty",
40        default
41    )]
42    previously_selected_channels: std::collections::BTreeMap<
43        super::super::super::api::DataSourceRefName,
44        std::collections::BTreeSet<super::super::super::super::api::Channel>,
45    >,
46    #[builder(default, into)]
47    #[serde(rename = "nextPageToken", skip_serializing_if = "Option::is_none", default)]
48    next_page_token: Option<super::super::super::super::api::Token>,
49    #[builder(default, into)]
50    #[serde(rename = "pageSize", skip_serializing_if = "Option::is_none", default)]
51    page_size: Option<i32>,
52}
53impl SearchRunChannelsRequest {
54    /// Constructs a new instance of the type.
55    #[inline]
56    pub fn new(search_text: impl Into<String>) -> Self {
57        Self::builder().search_text(search_text).build()
58    }
59    #[inline]
60    pub fn search_text(&self) -> &str {
61        &*self.search_text
62    }
63    /// If not empty, will filter to channels from the selected DataSourceRefNames.
64    #[inline]
65    pub fn ref_name_filter(
66        &self,
67    ) -> Option<
68        &std::collections::BTreeSet<super::super::super::api::DataSourceRefName>,
69    > {
70        self.ref_name_filter.as_ref().map(|o| &*o)
71    }
72    #[inline]
73    pub fn previously_selected_channels(
74        &self,
75    ) -> &std::collections::BTreeMap<
76        super::super::super::api::DataSourceRefName,
77        std::collections::BTreeSet<super::super::super::super::api::Channel>,
78    > {
79        &self.previously_selected_channels
80    }
81    #[inline]
82    pub fn next_page_token(&self) -> Option<&super::super::super::super::api::Token> {
83        self.next_page_token.as_ref().map(|o| &*o)
84    }
85    /// Defaults to 1000. Will throw if larger than 1000.
86    #[inline]
87    pub fn page_size(&self) -> Option<i32> {
88        self.page_size.as_ref().map(|o| *o)
89    }
90}