diff --git a/server/src/auth.rs b/server/src/auth.rs index b5c1f00..c2910ef 100644 --- a/server/src/auth.rs +++ b/server/src/auth.rs @@ -24,13 +24,13 @@ pub async fn get_user_from_header( ) -> Result<(Roles, User), AuthError> { let bearer_value = headers.get(header::AUTHORIZATION); let bearer_value = bearer_value - .ok_or_else(|| AuthError::InvalidToken)? + .ok_or(AuthError::InvalidToken)? .to_str() .map_err(|_| AuthError::InvalidToken)?; let token = get_token_from_bearer(bearer_value)?; - let session = match Session::from_token(&pool, &token).await { + let session = match Session::from_token(pool, &token).await { Ok(s) => s, Err(_) => return Err(AuthError::InvalidToken), }; @@ -39,12 +39,12 @@ pub async fn get_user_from_header( return Err(AuthError::InvalidToken); } - let db_user = match crate::database::model::User::get(&pool, session.user_id).await { + let db_user = match crate::database::model::User::get(pool, session.user_id).await { Ok(u) => u, Err(_) => return Err(AuthError::InvalidToken), }; - let roles = UserMember::get_roles(&pool, &db_user.user_id) + let roles = UserMember::get_roles(pool, &db_user.user_id) .await .unwrap_or(Roles::MEMBER); @@ -54,7 +54,7 @@ pub async fn get_user_from_header( pub fn get_token_from_bearer(bearer: &str) -> Result { match bearer.strip_prefix("Bearer ") { Some(token) => Ok(token.to_string()), - None => return Err(AuthError::InvalidToken), + None => Err(AuthError::InvalidToken), } } @@ -76,7 +76,7 @@ pub async fn generate_password_hash( .await .unwrap(); - Ok(password_hash?) + password_hash } pub async fn verify_password_hash( @@ -90,11 +90,11 @@ pub async fn verify_password_hash( } pub fn generate_session_token() -> String { - let session = ChaCha20Rng::from_os_rng() + + + ChaCha20Rng::from_os_rng() .sample_iter(&Alphanumeric) .take(60) .map(char::from) - .collect::(); - - session + .collect::() } diff --git a/server/src/auth/error.rs b/server/src/auth/error.rs index 1c782fd..6816ed9 100644 --- a/server/src/auth/error.rs +++ b/server/src/auth/error.rs @@ -12,11 +12,11 @@ pub enum AuthError { impl Display for AuthError { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { - Self::NoPermssions => write!(f, "{}", "No permissions"), - Self::InvalidToken => write!(f, "{}", "Invalid token"), - Self::Unexpected => write!(f, "{}", "Unexpected error"), - Self::InvalidPassword => write!(f, "{}", "Password is incorrect"), - Self::Unauthorized => write!(f, "{}", "Authentication is required"), + Self::NoPermssions => write!(f, "No permissions"), + Self::InvalidToken => write!(f, "Invalid token"), + Self::Unexpected => write!(f, "Unexpected error"), + Self::InvalidPassword => write!(f, "Password is incorrect"), + Self::Unauthorized => write!(f, "Authentication is required"), } } } diff --git a/server/src/database/model/member.rs b/server/src/database/model/member.rs index 769749d..7308376 100644 --- a/server/src/database/model/member.rs +++ b/server/src/database/model/member.rs @@ -48,7 +48,7 @@ impl Member { transaction: &mut sqlx::Transaction<'_, Postgres>, members: Vec, ) -> Result<(), sqlx::Error> { - if members.len() == 0 { + if members.is_empty() { return Ok(()); } @@ -78,7 +78,7 @@ impl Member { transaction: &mut sqlx::Transaction<'_, Postgres>, members: Vec, ) -> Result<(), sqlx::Error> { - if members.len() == 0 { + if members.is_empty() { return Ok(()); } diff --git a/server/src/model/session.rs b/server/src/model/session.rs index 188a2f6..66fc35c 100644 --- a/server/src/model/session.rs +++ b/server/src/model/session.rs @@ -19,13 +19,13 @@ impl Session { let created_at = Utc::now(); let expires_at = Utc::now() + Duration::days(7); - return Self { + Self { session_id, user_id, token, expires_at, created_at, - }; + } } } diff --git a/server/src/routes/auth.rs b/server/src/routes/auth.rs index 9f10abb..6961af8 100644 --- a/server/src/routes/auth.rs +++ b/server/src/routes/auth.rs @@ -1,4 +1,3 @@ -use axum::debug_handler; use axum::http::HeaderMap; use axum::{extract::State, routing::post, Json, Router}; use serde::Deserialize; diff --git a/server/src/routes/member/migrate.rs b/server/src/routes/member/migrate.rs index 609ccd6..85aecf2 100644 --- a/server/src/routes/member/migrate.rs +++ b/server/src/routes/member/migrate.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use axum::{ - extract::{FromRef, State}, + extract::State, http::HeaderMap, Json, }; @@ -137,19 +137,12 @@ pub struct MigrationResponse { remove: Vec<(String, Name)>, } +#[derive(Default)] pub struct MigrationStore { pub store: HashMap, pub count: u32, } -impl Default for MigrationStore { - fn default() -> Self { - Self { - count: 0, - store: HashMap::new(), - } - } -} impl Row { fn from_csv_many(input: &str) -> Result, csv::Error> { @@ -181,25 +174,25 @@ impl Row { } } -impl Into for Row { - fn into(self) -> Name { +impl From for Name { + fn from(val: Row) -> Self { Name { - first: self.first_name, + first: val.first_name, full: "Temporarely full name".to_string(), } } } -impl Into for Row { - fn into(self) -> Member { - let name: Name = self.clone().into(); +impl From for Member { + fn from(val: Row) -> Self { + let name: Name = val.clone().into(); Member { - id: self.id.clone(), + id: val.id.clone(), name, registration_token: None, - diploma: self.diploma.clone(), - groups: self.groups_parsed(), + diploma: val.diploma.clone(), + groups: val.groups_parsed(), roles: Roles::MEMBER, } }