use thiserror::Error;
#[derive(Debug, Error)]
pub enum XrpcCliError {
#[error("error-atpxrpc-config-1 Cannot determine config directory")]
ConfigDirNotFound,
#[error("error-atpxrpc-config-2 Failed to read config file: {path}")]
ConfigReadFailed {
path: String,
},
#[error("error-atpxrpc-config-3 Failed to write config file: {path}")]
ConfigWriteFailed {
path: String,
},
#[error("error-atpxrpc-account-1 No accounts configured, run 'atpxrpc login' first")]
NoAccountsConfigured,
#[error("error-atpxrpc-account-2 Account not found: {handle}")]
AccountNotFound {
handle: String,
},
#[error(
"error-atpxrpc-account-3 Multiple accounts configured, use --handle to specify which account"
)]
AmbiguousAccount,
#[error("error-atpxrpc-session-1 Re-authentication failed: {error}")]
ReAuthFailed {
error: String,
},
#[error("error-atpxrpc-input-1 Failed to parse JSON from stdin: {error}")]
StdinJsonParseFailed {
error: String,
},
#[error("error-atpxrpc-input-2 Failed to read bytes from stdin: {error}")]
StdinBytesReadFailed {
error: String,
},
#[error("error-atpxrpc-resolve-1 No PDS endpoint found in DID document for: {did}")]
NoPdsEndpointFound {
did: String,
},
#[error("error-atpxrpc-session-2 Failed to get service auth token: {error}")]
ServiceAuthFailed {
error: String,
},
#[error(
"error-atpxrpc-resolve-2 No service endpoint found for {service_id} in DID document for: {did}"
)]
NoServiceEndpointFound {
did: String,
service_id: String,
},
}