vw_small

Hardened fork of Vaultwarden (https://github.com/dani-garcia/vaultwarden) with fewer features.
git clone https://git.philomathiclife.com/repos/vw_small
Log | Files | Refs | README

commit cccd8262fa78dabc8e1949c4dcb490b99fb0cd84
parent 5f458b288a7a7892f075087348ebcd3dab9a771b
Author: Carl Dong <accounts@carldong.me>
Date:   Sat,  8 May 2021 16:03:03 -0400

admin: Add /users/<uuid> route

Individual user information can now be looked up by UUID.

Diffstat:
Msrc/api/admin.rs | 8++++++++
1 file changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/api/admin.rs b/src/api/admin.rs @@ -30,6 +30,7 @@ pub fn routes() -> Vec<Route> { routes![ admin_login, get_users_json, + get_user_json, post_admin_login, admin_page, invite_user, @@ -349,6 +350,13 @@ fn users_overview(_token: AdminToken, conn: DbConn) -> ApiResult<Html<String>> { 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")] fn delete_user(uuid: String, _token: AdminToken, conn: DbConn) -> EmptyResult { let user = User::find_by_uuid(&uuid, &conn).map_res("User doesn't exist")?;