1use 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}