use thiserror::Error;
pub type Result<T> = std::result::Result<T, Error>;
#[derive(Debug, Error)]
pub enum Error {
#[error("not found")]
NotFound,
#[error("this share has expired or reached its download limit")]
Gone,
#[error("{0}")]
PinRequired(String),
#[error("{0}")]
Locked(String),
#[error("integrity check failed")]
Integrity,
#[error("{0}")]
Aws(String),
#[error("{0}")]
Network(String),
#[error("config: {0}")]
Config(String),
#[error("{0}")]
Other(String),
}