email/account/sync/
config.rs

1use std::path::PathBuf;
2
3use crate::folder::sync::config::FolderSyncStrategy;
4#[cfg(feature = "derive")]
5use crate::serde::serde_deprecated;
6
7#[cfg(feature = "derive")]
8serde_deprecated!(strategy, "strategy.sync", "folder.sync.filter");
9
10#[derive(Clone, Debug, Default, Eq, PartialEq)]
11#[cfg_attr(
12    feature = "derive",
13    derive(serde::Serialize, serde::Deserialize),
14    serde(rename_all = "kebab-case")
15)]
16pub struct SyncConfig {
17    /// Enable the synchronization of the current account with local
18    /// Maildir backend features.
19    pub enable: Option<bool>,
20
21    /// Customize the root directory where the Maildir cache is saved.
22    ///
23    /// Defaults to `$XDG_DATA_HOME/himalaya/<account-name>`.
24    pub dir: Option<PathBuf>,
25
26    #[deprecated(since = "0.22.0", note = "use FolderConfig::sync::filter instead")]
27    #[cfg_attr(
28        feature = "derive",
29        serde(default, skip_serializing, deserialize_with = "strategy_deprecated")
30    )]
31    pub strategy: Option<FolderSyncStrategy>,
32}