admin: Add /users/<uuid> route

Individual user information can now be looked up by UUID.
This commit is contained in:
Carl Dong 2021-05-08 16:03:03 -04:00
parent 5f458b288a
commit cccd8262fa

View File

@ -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")?;