From 06344541aed293ba95cd6599506019a1f19d768c Mon Sep 17 00:00:00 2001 From: xeovalyte Date: Fri, 7 Feb 2025 17:31:14 +0100 Subject: [PATCH] Added get current member function --- server/src/routes.rs | 1 + server/src/routes/user.rs | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/server/src/routes.rs b/server/src/routes.rs index b911c3d..740af81 100644 --- a/server/src/routes.rs +++ b/server/src/routes.rs @@ -11,6 +11,7 @@ pub fn routes() -> Router { // .route("/member/:id", get()) .merge(member::routes()) .merge(auth::routes()) + .merge(user::routes()) } async fn root( diff --git a/server/src/routes/user.rs b/server/src/routes/user.rs index 8b13789..1943a4d 100644 --- a/server/src/routes/user.rs +++ b/server/src/routes/user.rs @@ -1 +1,15 @@ +use axum::{extract::State, http::HeaderMap, routing::get, Json, Router}; +use crate::{auth::get_user_from_header, model::User, AppState}; + +pub fn routes() -> Router { + Router::new().route("/user", get(get_current_user)) +} + +pub async fn get_current_user<'a>( + State(state): State, + headers: HeaderMap, +) -> Result, crate::Error> { + let (_roles, user) = get_user_from_header(&state.pool, &headers).await?; + Ok(Json(user)) +}