Skip to main content

nominal_api/conjure/objects/event/
event_disposition.rs

1/// Describes the review status for an event.
2/// This is used to track the disposition status of an event.
3#[derive(
4    Debug,
5    Clone,
6    conjure_object::serde::Serialize,
7    conjure_object::serde::Deserialize,
8    PartialEq,
9    Eq,
10    PartialOrd,
11    Ord,
12    Hash
13)]
14#[serde(crate = "conjure_object::serde")]
15#[conjure_object::private::staged_builder::staged_builder]
16#[builder(crate = conjure_object::private::staged_builder, update, inline)]
17pub struct EventDisposition {
18    #[serde(rename = "priority")]
19    priority: super::super::scout::api::Priority,
20    #[builder(
21        custom(type = super::super::scout::api::DispositionState, convert = Box::new)
22    )]
23    #[serde(rename = "state")]
24    state: Box<super::super::scout::api::DispositionState>,
25    #[builder(default, set(item(type = super::super::scout::rids::api::UserRid)))]
26    #[serde(
27        rename = "assignees",
28        skip_serializing_if = "std::collections::BTreeSet::is_empty",
29        default
30    )]
31    assignees: std::collections::BTreeSet<super::super::scout::rids::api::UserRid>,
32}
33impl EventDisposition {
34    /// Constructs a new instance of the type.
35    #[inline]
36    pub fn new(
37        priority: super::super::scout::api::Priority,
38        state: super::super::scout::api::DispositionState,
39    ) -> Self {
40        Self::builder().priority(priority).state(state).build()
41    }
42    #[inline]
43    pub fn priority(&self) -> &super::super::scout::api::Priority {
44        &self.priority
45    }
46    #[inline]
47    pub fn state(&self) -> &super::super::scout::api::DispositionState {
48        &*self.state
49    }
50    #[inline]
51    pub fn assignees(
52        &self,
53    ) -> &std::collections::BTreeSet<super::super::scout::rids::api::UserRid> {
54        &self.assignees
55    }
56}