improvements, styling, additional infos
Some checks are pending
CI/CD Pipeline / deploy-staging (push) Blocked by required conditions
CI/CD Pipeline / deploy-main (push) Blocked by required conditions
CI/CD Pipeline / test (push) Successful in 11m13s

This commit is contained in:
2024-09-04 19:40:52 +03:00
parent 6df24f0f22
commit b40850626b
6 changed files with 192 additions and 107 deletions

View File

@@ -69,26 +69,29 @@ impl TryFrom<&User> for AgeBracket {
type Error = String;
fn try_from(value: &User) -> Result<Self, Self::Error> {
if let Some(birthdate) = value.birthdate.clone() {
let today = Local::now().date_naive();
let birthdate = NaiveDate::parse_from_str(&birthdate, "%Y-%m-%d").unwrap();
let Some(birthdate) = value.birthdate.clone() else {
return Err("User has no birthdate".to_string());
};
let age = today.year() - birthdate.year();
if age <= 14 {
Ok(AgeBracket::Till14)
} else if age <= 18 {
Ok(AgeBracket::From14Till18)
} else if age <= 30 {
Ok(AgeBracket::From19Till30)
} else if age <= 60 {
Ok(AgeBracket::From31Till60)
} else if age <= 75 {
Ok(AgeBracket::From61Till75)
} else {
Ok(AgeBracket::From76)
}
let Ok(birthdate) = NaiveDate::parse_from_str(&birthdate, "%Y-%m-%d") else {
return Err("Birthdate in wrong format...".to_string());
};
let today = Local::now().date_naive();
let age = today.year() - birthdate.year();
if age <= 14 {
Ok(AgeBracket::Till14)
} else if age <= 18 {
Ok(AgeBracket::From14Till18)
} else if age <= 30 {
Ok(AgeBracket::From19Till30)
} else if age <= 60 {
Ok(AgeBracket::From31Till60)
} else if age <= 75 {
Ok(AgeBracket::From61Till75)
} else {
Err("User has no birthdate".to_string())
Ok(AgeBracket::From76)
}
}
}