use thiserror::Error;
pub type SecretsResult<T> = Result<T, SecretsError>;
#[derive(Debug, Error)]
pub enum SecretsError {
#[error("key load failed: {0}")]
KeyLoadFailed(String),
#[error("key save failed: {0}")]
KeySaveFailed(String),
#[error("encryption failed: {0}")]
EncryptionFailed(String),
#[error("decryption failed: {0}")]
DecryptionFailed(String),
#[error("env file read failed for {path}: {reason}")]
EnvFileReadFailed {
path: String,
reason: String,
},
#[error("env file parse failed for {path}: {reason}")]
EnvFileParseFailed {
path: String,
reason: String,
},
#[error("env var not found: {key}")]
EnvVarNotFound {
key: String,
},
#[error("write failed: {0}")]
WriteFailed(String),
#[error("key already exists: {0}")]
KeyAlreadyExists(String),
#[error("insufficient privileges: {0}")]
InsufficientPrivileges(String),
}