active-storage 0.1.1

Active Storage facilitates uploading files to a cloud storage
Documentation
//! # Storage Errors Module
//!
//! The `storage_errors` module defines custom error types for storage-related
//! operations.
use std::collections::BTreeMap;

#[derive(Debug, thiserror::Error)]
pub enum DriverError {
    #[error("Resource not found")]
    ResourceNotFound,

    #[error("The provided path contains invalid characters")]
    InvalidPath,

    #[error("Failed to decode file contents")]
    DecodeError,

    #[error("network error")]
    Network(),

    #[error(transparent)]
    Any(#[from] Box<dyn std::error::Error + Send + Sync>),
}

#[derive(Debug, thiserror::Error)]
pub enum MirrorError {
    #[error("Mirror name not found")]
    MirrorFailedOnStores(BTreeMap<String, DriverError>),

    #[error("Mirror failed on store")]
    MirrorFailedOnStore(String, DriverError),
}

pub type DriverResult<T> = std::result::Result<T, DriverError>;
pub type MirrorResult<T> = std::result::Result<T, MirrorError>;