wae_authentication/password/
error.rs1use std::fmt;
4use wae_types::WaeError;
5
6#[derive(Debug)]
8pub enum PasswordHashError {
9 InvalidConfig,
11 HashFailed,
13 VerifyFailed,
15 InvalidHashFormat,
17}
18
19impl fmt::Display for PasswordHashError {
20 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
21 match self {
22 PasswordHashError::InvalidConfig => write!(f, "无效的密码哈希配置"),
23 PasswordHashError::HashFailed => write!(f, "密码哈希生成失败"),
24 PasswordHashError::VerifyFailed => write!(f, "密码验证失败"),
25 PasswordHashError::InvalidHashFormat => write!(f, "无效的哈希格式"),
26 }
27 }
28}
29
30impl std::error::Error for PasswordHashError {}
31
32impl From<PasswordHashError> for WaeError {
33 fn from(err: PasswordHashError) -> Self {
34 match err {
35 PasswordHashError::InvalidConfig => WaeError::config_invalid("password_hash", "invalid configuration"),
36 PasswordHashError::HashFailed => WaeError::internal("password hash failed"),
37 PasswordHashError::VerifyFailed => WaeError::invalid_credentials(),
38 PasswordHashError::InvalidHashFormat => WaeError::invalid_format("hash", "valid hash format"),
39 }
40 }
41}
42
43pub type PasswordHashResult<T> = Result<T, PasswordHashError>;