//! The error type shared across forge crates. #[derive(Debug, thiserror::Error)] pub enum Error { #[error("io error: {0}")] Io(#[from] std::io::Error), #[error("database error: {0}")] Database(String), #[error("migration error: {0}")] Migration(String), #[error("config error: {0}")] Config(String), #[error("crypto error: {0}")] Crypto(String), #[error("invalid name: {0}")] InvalidName(String), #[error("git error: {0}")] Git(String), #[error("not found")] NotFound, #[error("conflict: {0}")] Conflict(String), #[error("forbidden: {0}")] Forbidden(String), #[error("invalid value: {0}")] Invalid(String), } pub type Result = std::result::Result;