Skip to main content

admin/
error.rs

1//! Error types for admin
2
3use thiserror::Error;
4
5pub type Result<T> = std::result::Result<T, AdminError>;
6
7#[derive(Debug, Error)]
8pub enum AdminError {
9    #[error("gRPC transport error: {0}")]
10    Transport(#[from] tonic::transport::Error),
11
12    #[error("gRPC status error: {0}")]
13    Status(#[from] tonic::Status),
14
15    #[error("Configuration error: {0}")]
16    Config(String),
17
18    #[error("Metrics collection error: {0}")]
19    Metrics(String),
20
21    #[error("Invalid node ID: {0}")]
22    InvalidNodeId(String),
23
24    #[error("Connection closed")]
25    ConnectionClosed,
26
27    #[error("Authentication error: {0}")]
28    Authentication(String),
29
30    #[error("nonce-auth error: {0}")]
31    NonceAuth(#[from] ::nonce_auth::NonceError),
32
33    #[error("Internal error: {0}")]
34    Internal(String),
35}