diff options
Diffstat (limited to 'server/src/routes/user.rs')
-rw-r--r-- | server/src/routes/user.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/server/src/routes/user.rs b/server/src/routes/user.rs index 3ca0e7b..d44df66 100644 --- a/server/src/routes/user.rs +++ b/server/src/routes/user.rs @@ -5,18 +5,21 @@ use crate::models::{ }; use axum::{extract::Path, routing::get, Json, Router}; +/// Create routes for `/v1/users/` namespace pub fn create_route() -> Router { Router::new() .route("/", get(list_users).post(create_user)) .route("/:id", get(get_user)) } +/// List users. Checks Authorization token async fn list_users(_: Claims) -> Result<Json<Vec<UserList>>, AppError> { let users = User::list().await?; Ok(Json(users)) } +/// Create an user. Checks Authorization token async fn create_user( Json(payload): Json<UserCreate>, _: Claims, @@ -27,6 +30,7 @@ async fn create_user( Ok(Json(user_new)) } +/// Get an user with id = `user_id`. Checks Authorization token async fn get_user(Path(user_id): Path<i32>, _: Claims) -> Result<Json<UserList>, AppError> { match User::find_by_id(user_id).await { Ok(user) => Ok(Json(user)), |