Run clippy fixes

This commit is contained in:
xeovalyte 2025-02-14 12:00:05 +01:00
parent 8b7d2ad3f7
commit 1e2247abe2
Signed by: xeovalyte
SSH Key Fingerprint: SHA256:GWI1hq+MNKR2UOcvk7n9tekASXT8vyazK7vDF9Xyciw
6 changed files with 30 additions and 38 deletions

View File

@ -24,13 +24,13 @@ pub async fn get_user_from_header(
) -> Result<(Roles, User), AuthError> { ) -> Result<(Roles, User), AuthError> {
let bearer_value = headers.get(header::AUTHORIZATION); let bearer_value = headers.get(header::AUTHORIZATION);
let bearer_value = bearer_value let bearer_value = bearer_value
.ok_or_else(|| AuthError::InvalidToken)? .ok_or(AuthError::InvalidToken)?
.to_str() .to_str()
.map_err(|_| AuthError::InvalidToken)?; .map_err(|_| AuthError::InvalidToken)?;
let token = get_token_from_bearer(bearer_value)?; 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, Ok(s) => s,
Err(_) => return Err(AuthError::InvalidToken), Err(_) => return Err(AuthError::InvalidToken),
}; };
@ -39,12 +39,12 @@ pub async fn get_user_from_header(
return Err(AuthError::InvalidToken); 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, Ok(u) => u,
Err(_) => return Err(AuthError::InvalidToken), 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 .await
.unwrap_or(Roles::MEMBER); .unwrap_or(Roles::MEMBER);
@ -54,7 +54,7 @@ pub async fn get_user_from_header(
pub fn get_token_from_bearer(bearer: &str) -> Result<String, AuthError> { pub fn get_token_from_bearer(bearer: &str) -> Result<String, AuthError> {
match bearer.strip_prefix("Bearer ") { match bearer.strip_prefix("Bearer ") {
Some(token) => Ok(token.to_string()), 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 .await
.unwrap(); .unwrap();
Ok(password_hash?) password_hash
} }
pub async fn verify_password_hash( pub async fn verify_password_hash(
@ -90,11 +90,11 @@ pub async fn verify_password_hash(
} }
pub fn generate_session_token() -> String { pub fn generate_session_token() -> String {
let session = ChaCha20Rng::from_os_rng()
ChaCha20Rng::from_os_rng()
.sample_iter(&Alphanumeric) .sample_iter(&Alphanumeric)
.take(60) .take(60)
.map(char::from) .map(char::from)
.collect::<String>(); .collect::<String>()
session
} }

View File

@ -12,11 +12,11 @@ pub enum AuthError {
impl Display for AuthError { impl Display for AuthError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self { match self {
Self::NoPermssions => write!(f, "{}", "No permissions"), Self::NoPermssions => write!(f, "No permissions"),
Self::InvalidToken => write!(f, "{}", "Invalid token"), Self::InvalidToken => write!(f, "Invalid token"),
Self::Unexpected => write!(f, "{}", "Unexpected error"), Self::Unexpected => write!(f, "Unexpected error"),
Self::InvalidPassword => write!(f, "{}", "Password is incorrect"), Self::InvalidPassword => write!(f, "Password is incorrect"),
Self::Unauthorized => write!(f, "{}", "Authentication is required"), Self::Unauthorized => write!(f, "Authentication is required"),
} }
} }
} }

View File

@ -48,7 +48,7 @@ impl Member {
transaction: &mut sqlx::Transaction<'_, Postgres>, transaction: &mut sqlx::Transaction<'_, Postgres>,
members: Vec<Self>, members: Vec<Self>,
) -> Result<(), sqlx::Error> { ) -> Result<(), sqlx::Error> {
if members.len() == 0 { if members.is_empty() {
return Ok(()); return Ok(());
} }
@ -78,7 +78,7 @@ impl Member {
transaction: &mut sqlx::Transaction<'_, Postgres>, transaction: &mut sqlx::Transaction<'_, Postgres>,
members: Vec<Self>, members: Vec<Self>,
) -> Result<(), sqlx::Error> { ) -> Result<(), sqlx::Error> {
if members.len() == 0 { if members.is_empty() {
return Ok(()); return Ok(());
} }

View File

@ -19,13 +19,13 @@ impl Session {
let created_at = Utc::now(); let created_at = Utc::now();
let expires_at = Utc::now() + Duration::days(7); let expires_at = Utc::now() + Duration::days(7);
return Self { Self {
session_id, session_id,
user_id, user_id,
token, token,
expires_at, expires_at,
created_at, created_at,
}; }
} }
} }

View File

@ -1,4 +1,3 @@
use axum::debug_handler;
use axum::http::HeaderMap; use axum::http::HeaderMap;
use axum::{extract::State, routing::post, Json, Router}; use axum::{extract::State, routing::post, Json, Router};
use serde::Deserialize; use serde::Deserialize;

View File

@ -1,7 +1,7 @@
use std::collections::HashMap; use std::collections::HashMap;
use axum::{ use axum::{
extract::{FromRef, State}, extract::State,
http::HeaderMap, http::HeaderMap,
Json, Json,
}; };
@ -137,19 +137,12 @@ pub struct MigrationResponse {
remove: Vec<(String, Name)>, remove: Vec<(String, Name)>,
} }
#[derive(Default)]
pub struct MigrationStore { pub struct MigrationStore {
pub store: HashMap<u32, MembersDiff>, pub store: HashMap<u32, MembersDiff>,
pub count: u32, pub count: u32,
} }
impl Default for MigrationStore {
fn default() -> Self {
Self {
count: 0,
store: HashMap::new(),
}
}
}
impl Row { impl Row {
fn from_csv_many(input: &str) -> Result<Vec<Self>, csv::Error> { fn from_csv_many(input: &str) -> Result<Vec<Self>, csv::Error> {
@ -181,25 +174,25 @@ impl Row {
} }
} }
impl Into<Name> for Row { impl From<Row> for Name {
fn into(self) -> Name { fn from(val: Row) -> Self {
Name { Name {
first: self.first_name, first: val.first_name,
full: "Temporarely full name".to_string(), full: "Temporarely full name".to_string(),
} }
} }
} }
impl Into<Member> for Row { impl From<Row> for Member {
fn into(self) -> Member { fn from(val: Row) -> Self {
let name: Name = self.clone().into(); let name: Name = val.clone().into();
Member { Member {
id: self.id.clone(), id: val.id.clone(),
name, name,
registration_token: None, registration_token: None,
diploma: self.diploma.clone(), diploma: val.diploma.clone(),
groups: self.groups_parsed(), groups: val.groups_parsed(),
roles: Roles::MEMBER, roles: Roles::MEMBER,
} }
} }