email/folder/
config.rs

1use std::collections::HashMap;
2
3use super::list::config::FolderListConfig;
4#[cfg(feature = "sync")]
5use super::sync::config::FolderSyncConfig;
6
7/// The folder configuration.
8#[derive(Clone, Debug, Default, Eq, PartialEq)]
9#[cfg_attr(
10    feature = "derive",
11    derive(serde::Serialize, serde::Deserialize),
12    serde(rename_all = "kebab-case")
13)]
14pub struct FolderConfig {
15    /// Define custom folder aliases.
16    ///
17    /// Aliases are resolved when calling backend features. There are
18    /// 4 special aliases that map to [`super::FolderKind`]: inbox,
19    /// draft(s), sent and trash. Other aliases map to folder names.
20    ///
21    /// Note: folder aliases are case-insensitive.
22    pub aliases: Option<HashMap<String, String>>,
23
24    /// The configuration dedicated to folder listing.
25    pub list: Option<FolderListConfig>,
26
27    #[cfg(feature = "sync")]
28    /// The configuration dedicated to folder synchronization.
29    pub sync: Option<FolderSyncConfig>,
30}