pub type Result<T> = std::result::Result<T, Error>;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error(transparent)]
CalDav(#[from] cosmic_pim_caldav::Error),
#[error(transparent)]
Account(#[from] cosmic_pim_accounts::Error),
#[error(transparent)]
#[cfg(feature = "mail")]
Mail(#[from] cosmic_pim_mail::Error),
#[error(transparent)]
Auth(#[from] cosmic_pim_auth::Error),
#[error(transparent)]
Store(#[from] cosmic_pim_core::StoreError),
#[error(
"“{collection}” is already synced by another program (found {marker}); \
syncing it here as well would make the two overwrite each other"
)]
ForeignSyncOwner { collection: String, marker: String },
#[error("no password stored for account “{0}”")]
MissingPassword(String),
}