email/email/envelope/
config.rs

1use super::list::config::EnvelopeListConfig;
2#[cfg(feature = "sync")]
3use super::sync::config::EnvelopeSyncConfig;
4#[cfg(feature = "thread")]
5use super::thread::config::EnvelopeThreadConfig;
6#[cfg(feature = "watch")]
7use super::watch::config::WatchEnvelopeConfig;
8
9#[derive(Clone, Debug, Default, Eq, PartialEq)]
10#[cfg_attr(
11    feature = "derive",
12    derive(serde::Serialize, serde::Deserialize),
13    serde(rename_all = "kebab-case")
14)]
15pub struct EnvelopeConfig {
16    /// The envelope config related to listing.
17    pub list: Option<EnvelopeListConfig>,
18
19    /// The envelope config related to threading.
20    #[cfg(feature = "thread")]
21    pub thread: Option<EnvelopeThreadConfig>,
22
23    /// Configuration dedicated to envelope changes.
24    #[cfg(feature = "watch")]
25    pub watch: Option<WatchEnvelopeConfig>,
26
27    /// Configuration dedicated to envelope changes.
28    #[cfg(feature = "sync")]
29    pub sync: Option<EnvelopeSyncConfig>,
30}