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}