f8c6a14
zhenyi
feat(totp): add lib/totp crate for TOTP-based 2FA (HMAC-SHA1 + AES-GCM secret storage)
f8c6a14
use thiserror::Error;
#[derive(Debug, Error)]
pub enum ConfigError {
#[error("config load failed: {0}")]
Load(#[from] config_rs::ConfigError),
#[error("invalid configuration: {0}")]
Validation(String),
}
pub type ConfigResult<T> = Result<T, ConfigError>;