From ef0b36620e43f8cee6d1857de340f975cec25685 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Tue, 13 Sep 2022 15:24:03 +0200 Subject: Add `/me` endpoint --- src/routes/user.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/routes/user.rs b/src/routes/user.rs index 8c2ec0e..00e2980 100644 --- a/src/routes/user.rs +++ b/src/routes/user.rs @@ -15,6 +15,7 @@ use serde::Serialize; pub fn create_route() -> Router { Router::new() .route("/", get(list_users)) + .route("/me", get(get_me)) .route("/:id", get(get_user)) } @@ -36,6 +37,14 @@ async fn list_users( Ok(Json(UserPagination { count, results })) } +/// Get info about me +async fn get_me(claims: Claims) -> Result, AppError> { + match User::find_by_id(claims.user_id).await { + Ok(user) => Ok(Json(user)), + Err(_) => Err(AppError::NotFound("User not found".to_string())), + } +} + /// Get an user with id = `user_id`. Checks Authorization token async fn get_user(Path(user_id): Path, _: Claims) -> Result, AppError> { match User::find_by_id(user_id).await { -- cgit v1.2.3-71-g8e6c