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 dbd95e08e9235c9fd807028f709b7eb2c5693867
parent 3713f2d13439577e50f43b34f63de2972c52b639
Author: Lyonel Martinez <lyonel.martinez@numberly.com>
Date:   Wed,  1 Jun 2022 15:26:11 +0200

Adding "UserEnabled" and "CreatedAt" member to the json output of a User in the admin/users and admin/users/<ID> web routes.

Diffstat:
Msrc/api/admin.rs | 16++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/api/admin.rs b/src/api/admin.rs @@ -79,6 +79,7 @@ fn admin_disabled() -> &'static str { const COOKIE_NAME: &str = "VW_ADMIN"; const ADMIN_PATH: &str = "/admin"; +const DT_FMT: &str = "%Y-%m-%d %H:%M:%S %Z"; const BASE_TEMPLATE: &str = "admin/base"; @@ -310,7 +311,10 @@ async fn get_users_json(_token: AdminToken, conn: DbConn) -> Json<Value> { let users_json = stream::iter(User::get_all(&conn).await) .then(|u| async { let u = u; // Move out this single variable - u.to_json(&conn).await + let mut usr = u.to_json(&conn).await; + usr["UserEnabled"] = json!(u.enabled); + usr["CreatedAt"] = json!(format_naive_datetime_local(&u.created_at, DT_FMT)); + usr }) .collect::<Vec<Value>>() .await; @@ -320,8 +324,6 @@ async fn get_users_json(_token: AdminToken, conn: DbConn) -> Json<Value> { #[get("/users/overview")] async fn users_overview(_token: AdminToken, conn: DbConn) -> ApiResult<Html<String>> { - const DT_FMT: &str = "%Y-%m-%d %H:%M:%S %Z"; - let users_json = stream::iter(User::get_all(&conn).await) .then(|u| async { let u = u; // Move out this single variable @@ -346,9 +348,11 @@ async fn users_overview(_token: AdminToken, conn: DbConn) -> ApiResult<Html<Stri #[get("/users/<uuid>")] async fn get_user_json(uuid: String, _token: AdminToken, conn: DbConn) -> JsonResult { - let user = get_user_or_404(&uuid, &conn).await?; - - Ok(Json(user.to_json(&conn).await)) + let u = get_user_or_404(&uuid, &conn).await?; + let mut usr = u.to_json(&conn).await; + usr["UserEnabled"] = json!(u.enabled); + usr["CreatedAt"] = json!(format_naive_datetime_local(&u.created_at, DT_FMT)); + Ok(Json(usr)) } #[post("/users/<uuid>/delete")]