From 756d96c8deefeeb947978de937a596569f10ad88 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Mon, 8 Sep 2025 22:39:48 +0200 Subject: [PATCH] Fix bug in auth.rs --- server/src/utils/auth.rs | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/server/src/utils/auth.rs b/server/src/utils/auth.rs index 9b11b25..5554edb 100644 --- a/server/src/utils/auth.rs +++ b/server/src/utils/auth.rs @@ -10,13 +10,13 @@ pub struct AuthUser { pub user: User, } -impl FromRequestParts for AuthUser -where - S: Send + Sync, -{ +impl FromRequestParts for AuthUser { type Rejection = StatusCode; - async fn from_request_parts(parts: &mut Parts, _state: &S) -> Result { + async fn from_request_parts( + parts: &mut Parts, + state: &DbPool, + ) -> Result { let auth_header = parts .headers .get(AUTHORIZATION) @@ -28,12 +28,8 @@ where } let token = &auth_header[7..]; - let pool = parts - .extensions - .get::() - .ok_or(StatusCode::INTERNAL_SERVER_ERROR)?; - let user = AuthController::authenticate_user(pool, token) + let user = AuthController::authenticate_user(state, token) .await .map_err(|_| StatusCode::UNAUTHORIZED)?; @@ -47,14 +43,14 @@ pub struct AdminUser { pub user: User, } -impl FromRequestParts for AdminUser -where - S: Send + Sync, -{ +impl FromRequestParts for AdminUser { type Rejection = StatusCode; - async fn from_request_parts(parts: &mut Parts, _state: &S) -> Result { - let auth_user = AuthUser::from_request_parts(parts, _state).await?; + async fn from_request_parts( + parts: &mut Parts, + state: &DbPool, + ) -> Result { + let auth_user = AuthUser::from_request_parts(parts, state).await?; if auth_user.user.role != UserRole::Admin { return Err(StatusCode::FORBIDDEN);