summaryrefslogtreecommitdiff
path: root/src/types/user.rs
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2023-01-28 14:22:29 -0500
committerTyler Murphy <tylermurphy534@gmail.com>2023-01-28 14:22:29 -0500
commit7e07687b5ec14bd788b8d2dd3f0a7ead83842fd4 (patch)
tree795df5d4e91e44e50214437dc0c77f25db66b870 /src/types/user.rs
parentdocker (diff)
downloadxssbook-7e07687b5ec14bd788b8d2dd3f0a7ead83842fd4.tar.gz
xssbook-7e07687b5ec14bd788b8d2dd3f0a7ead83842fd4.tar.bz2
xssbook-7e07687b5ec14bd788b8d2dd3f0a7ead83842fd4.zip
clippy my beloved
Diffstat (limited to 'src/types/user.rs')
-rw-r--r--src/types/user.rs15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/types/user.rs b/src/types/user.rs
index 031946a..b26cfd7 100644
--- a/src/types/user.rs
+++ b/src/types/user.rs
@@ -1,6 +1,7 @@
use serde::{Serialize, Deserialize};
use tracing::instrument;
+use crate::api::auth::RegistrationRequet;
use crate::database;
use crate::types::response::{Result, ResponseCode};
@@ -32,12 +33,12 @@ impl User {
#[instrument()]
pub fn from_user_ids(user_ids: Vec<u64>) -> Vec<Self> {
- user_ids.iter().map(|user_id| {
+ user_ids.iter().filter_map(|user_id| {
let Ok(Some(user)) = database::users::get_user_by_id(*user_id, true) else {
return None;
};
Some(user)
- }).flatten().collect()
+ }).collect()
}
#[instrument()]
@@ -67,16 +68,16 @@ impl User {
}
#[instrument()]
- pub fn new(firstname: String, lastname: String, email: String, password: String, gender: String, day: u8, month: u8, year: u32) -> Result<Self> {
- if let Ok(_) = User::from_email(&email) {
- return Err(ResponseCode::BadRequest.text(&format!("Email is already in use by {}", &email)))
+ pub fn new(request: RegistrationRequet) -> Result<Self> {
+ if User::from_email(&request.email).is_ok() {
+ return Err(ResponseCode::BadRequest.text(&format!("Email is already in use by {}", &request.email)))
}
- if let Ok(user) = User::from_password(&password) {
+ if let Ok(user) = User::from_password(&request.password) {
return Err(ResponseCode::BadRequest.text(&format!("Password is already in use by {}", user.email)))
}
- let Ok(user) = database::users::add_user(&firstname, &lastname, &email, &password, &gender, day, month, year) else {
+ let Ok(user) = database::users::add_user(request) else {
tracing::error!("Failed to create new user");
return Err(ResponseCode::InternalServerError.text("Failed to create new uesr"))
};