forbidden 0.1.3

An auth library for Rust applications.
Documentation
use std::error::Error;

pub type ResultAuth<T> = Result<T, AuthError>;
pub type ResultPwd<T> = Result<T, PasswordError>;

#[derive(Debug)]
pub enum PasswordError {
    InvalidPassword,
    MinimumPasswordLength { provided: usize },
    MaximumPasswordLength { provided: usize },
    InvalidPasswordAlgo { provided: String },
    HashError(password_hash::Error),
}

impl From<password_hash::Error> for PasswordError {
    fn from(err: password_hash::Error) -> Self {
        PasswordError::HashError(err)
    }
}

#[derive(Debug)]
pub enum AuthError {
    Other(Box<dyn Error>),
    Password(PasswordError),
    IdentityNotFound { named: String },
    EmailNotFound { email: String },
    UserNotFound { named: String },
    TokenNotFound { token: String },
}

impl From<PasswordError> for AuthError {
    fn from(err: PasswordError) -> Self {
        AuthError::Password(err)
    }
}