nzbdav-core 0.4.0

Core models, database abstraction, and blob storage for nzbdav
use thiserror::Error;

#[derive(Error, Debug)]
pub enum DavError {
    #[cfg(feature = "sqlite")]
    #[error("database error: {0}")]
    Sqlite(#[from] rusqlite::Error),

    #[error("database error: {0}")]
    Database(String),

    #[error("blob not found: {0}")]
    BlobNotFound(String),

    #[error("serialization error: {0}")]
    Serialization(String),

    #[error("item not found: {0}")]
    ItemNotFound(String),

    #[error("duplicate item: {0}")]
    DuplicateItem(String),

    #[error("{0}")]
    Other(String),
}

pub type Result<T> = std::result::Result<T, DavError>;