#![deny(missing_docs)]
#![forbid(unsafe_code)]
#![cfg_attr(all(doc, CHANNEL_NIGHTLY), feature(doc_auto_cfg))]
mod account_integrity;
mod error;
mod event_integrity;
#[cfg(feature = "files")]
mod file_integrity;
mod vault_integrity;
pub use account_integrity::{account_integrity, FolderIntegrityEvent};
pub use event_integrity::event_integrity;
pub use vault_integrity::vault_integrity;
#[cfg(feature = "files")]
pub use file_integrity::{file_integrity, FileIntegrityEvent};
pub use error::Error;
pub(crate) type Result<T> = std::result::Result<T, Error>;
use sos_core::{commit::CommitHash, ExternalFile, VaultId};
#[derive(Debug)]
pub enum IntegrityFailure {
MissingFolder(VaultId),
MissingFile(ExternalFile),
CorruptedFolder {
folder_id: VaultId,
expected: CommitHash,
actual: CommitHash,
},
CorruptedFile {
external_file: ExternalFile,
expected: CommitHash,
actual: CommitHash,
},
Error(Error),
}