changelog and Config::email &str input
This commit is contained in:
parent
99c1769430
commit
11b490b78c
6 changed files with 34 additions and 20 deletions
20
CHANGELOG.md
Normal file
20
CHANGELOG.md
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
## 0.2.1
|
||||||
|
|
||||||
|
### Changed:
|
||||||
|
|
||||||
|
-`Config::email` now takes a `&str` instead of `Option<&str>`
|
||||||
|
|
||||||
|
## 0.2.0
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- minimum and maximum password length
|
||||||
|
|
||||||
|
## 0.1.0
|
||||||
|
|
||||||
|
### Added:
|
||||||
|
|
||||||
|
- password configuration
|
||||||
|
- UsernameCaseMapped filter
|
||||||
|
- Abusive words filter
|
||||||
|
- filter for words that might cause security issues
|
|
@ -26,4 +26,4 @@ validator = { version = "0.13.0", features = ["derive"]}
|
||||||
lazy_static = "1.4.0"
|
lazy_static = "1.4.0"
|
||||||
regex = { version = "1.3.9", features = [ "perf-inline", "perf-dfa", "perf-literal", "perf-cache", "perf"]}
|
regex = { version = "1.3.9", features = [ "perf-inline", "perf-dfa", "perf-literal", "perf-cache", "perf"]}
|
||||||
rand = "0.8.0"
|
rand = "0.8.0"
|
||||||
derive_builder = "0.9"
|
derive_builder = "0.10"
|
||||||
|
|
|
@ -23,7 +23,7 @@ fn main() {
|
||||||
let hash = config.password(password).unwrap();
|
let hash = config.password(password).unwrap();
|
||||||
|
|
||||||
// email validation
|
// email validation
|
||||||
config.email(Some("batman@we.net")).unwrap();
|
config.email("batman@we.net").unwrap();
|
||||||
|
|
||||||
// process username
|
// process username
|
||||||
let username = config.username("Realaravinth").unwrap(); // process username
|
let username = config.username("Realaravinth").unwrap(); // process username
|
||||||
|
|
|
@ -10,7 +10,7 @@ fn main() {
|
||||||
let password = "ironmansucks";
|
let password = "ironmansucks";
|
||||||
|
|
||||||
// email validation
|
// email validation
|
||||||
config.email(Some("batman@we.net")).unwrap();
|
config.email("batman@we.net").unwrap();
|
||||||
|
|
||||||
// process username
|
// process username
|
||||||
let username = config.username("Realaravinth").unwrap(); // process username
|
let username = config.username("Realaravinth").unwrap(); // process username
|
||||||
|
|
|
@ -56,9 +56,9 @@ impl Default for PasswordPolicy {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Validate)]
|
#[derive(Validate)]
|
||||||
struct Email {
|
struct Email<'a> {
|
||||||
#[validate(email)]
|
#[validate(email)]
|
||||||
pub email: String,
|
pub email: &'a str,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Config {
|
impl Default for Config {
|
||||||
|
@ -84,14 +84,11 @@ impl Config {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Checks if input is an email
|
/// Checks if input is an email
|
||||||
pub fn email(&self, email: Option<&str>) -> CredsResult<()> {
|
pub fn email(&self, email: &str) -> CredsResult<()> {
|
||||||
if let Some(email) = email {
|
|
||||||
let email = Email {
|
let email = Email {
|
||||||
email: email.trim().to_owned(),
|
email: email.trim(),
|
||||||
};
|
};
|
||||||
email.validate()?;
|
Ok(email.validate()?)
|
||||||
}
|
|
||||||
Ok(())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn validate_username(&self, username: &str) -> CredsResult<()> {
|
fn validate_username(&self, username: &str) -> CredsResult<()> {
|
||||||
|
@ -179,10 +176,7 @@ mod tests {
|
||||||
.build()
|
.build()
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
assert_eq!(
|
assert_eq!(config.email("sdfasdf".into()), Err(CredsError::NotAnEmail));
|
||||||
config.email(Some("sdfasdf".into())),
|
|
||||||
Err(CredsError::NotAnEmail)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -190,7 +184,7 @@ mod tests {
|
||||||
let password = "somepassword";
|
let password = "somepassword";
|
||||||
let config = Config::default();
|
let config = Config::default();
|
||||||
|
|
||||||
config.email(Some("batman@we.net")).unwrap();
|
config.email("batman@we.net").unwrap();
|
||||||
let username = config.username("Realaravinth").unwrap();
|
let username = config.username("Realaravinth").unwrap();
|
||||||
let hash = config.password(password).unwrap();
|
let hash = config.password(password).unwrap();
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
//! let hash = config.password(password).unwrap();
|
//! let hash = config.password(password).unwrap();
|
||||||
//!
|
//!
|
||||||
//! // email validation
|
//! // email validation
|
||||||
//! config.email(Some("batman@we.net")).unwrap();
|
//! config.email("batman@we.net").unwrap();
|
||||||
//!
|
//!
|
||||||
//! // process username
|
//! // process username
|
||||||
//! let username = config.username("Realaravinth").unwrap(); // process username
|
//! let username = config.username("Realaravinth").unwrap(); // process username
|
||||||
|
@ -48,7 +48,7 @@
|
||||||
//! let hash = config.password(password).unwrap();
|
//! let hash = config.password(password).unwrap();
|
||||||
//!
|
//!
|
||||||
//! // email validation
|
//! // email validation
|
||||||
//! config.email(Some("batman@we.net")).unwrap();
|
//! config.email("batman@we.net").unwrap();
|
||||||
//!
|
//!
|
||||||
//! // process username
|
//! // process username
|
||||||
//! let username = config.username("Realaravinth").unwrap(); // process username
|
//! let username = config.username("Realaravinth").unwrap(); // process username
|
||||||
|
|
Loading…
Add table
Reference in a new issue