use thiserror::Error;
pub type Result<T> = std::result::Result<T, ApiError>;
#[derive(Debug, Error)]
pub enum ApiError {
#[error("core error: {0}")]
Core(#[from] arcbox_core::CoreError),
#[error("gRPC error: {0}")]
Grpc(#[from] tonic::transport::Error),
#[error("server error: {0}")]
Server(String),
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("configuration error: {0}")]
Config(String),
#[error("transport error: {0}")]
Transport(String),
}