1
0
Эх сурвалжийг харах

admin: Add /users/<uuid> route

Individual user information can now be looked up by UUID.
Carl Dong 4 жил өмнө
parent
commit
cccd8262fa

+ 8 - 0
src/api/admin.rs

@@ -30,6 +30,7 @@ pub fn routes() -> Vec<Route> {
     routes![
     routes![
         admin_login,
         admin_login,
         get_users_json,
         get_users_json,
+        get_user_json,
         post_admin_login,
         post_admin_login,
         admin_page,
         admin_page,
         invite_user,
         invite_user,
@@ -349,6 +350,13 @@ fn users_overview(_token: AdminToken, conn: DbConn) -> ApiResult<Html<String>> {
     Ok(Html(text))
     Ok(Html(text))
 }
 }
 
 
+#[get("/users/<uuid>")]
+fn get_user_json(uuid: String, _token: AdminToken, conn: DbConn) -> JsonResult {
+    let user = User::find_by_uuid(&uuid, &conn).map_res("User doesn't exist")?;
+
+    Ok(Json(user.to_json(&conn)))
+}
+
 #[post("/users/<uuid>/delete")]
 #[post("/users/<uuid>/delete")]
 fn delete_user(uuid: String, _token: AdminToken, conn: DbConn) -> EmptyResult {
 fn delete_user(uuid: String, _token: AdminToken, conn: DbConn) -> EmptyResult {
     let user = User::find_by_uuid(&uuid, &conn).map_res("User doesn't exist")?;
     let user = User::find_by_uuid(&uuid, &conn).map_res("User doesn't exist")?;