mirror of
https://github.com/dani-garcia/vaultwarden.git
synced 2026-06-07 01:04:59 -06:00
in enrich_users_json, moved never active notice to template
This commit is contained in:
parent
7f419705de
commit
b60b97b96d
@ -352,7 +352,7 @@ fn logout(cookies: &CookieJar<'_>) -> Redirect {
|
|||||||
Redirect::to(admin_path())
|
Redirect::to(admin_path())
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn get_users_property(users: Vec<(User, Option<SsoUser>)>, conn: &DbConn) -> Vec<Value> {
|
async fn enrich_users_json(users: Vec<(User, Option<SsoUser>)>, conn: &DbConn) -> Vec<Value> {
|
||||||
let mut users_json = Vec::with_capacity(users.len());
|
let mut users_json = Vec::with_capacity(users.len());
|
||||||
for (u, sso_u) in users {
|
for (u, sso_u) in users {
|
||||||
let mut usr = u.to_json(conn).await;
|
let mut usr = u.to_json(conn).await;
|
||||||
@ -363,7 +363,7 @@ async fn get_users_property(users: Vec<(User, Option<SsoUser>)>, conn: &DbConn)
|
|||||||
usr["createdAt"] = json!(format_naive_datetime_local(&u.created_at, DT_FMT));
|
usr["createdAt"] = json!(format_naive_datetime_local(&u.created_at, DT_FMT));
|
||||||
usr["lastActive"] = match u.last_active(conn).await {
|
usr["lastActive"] = match u.last_active(conn).await {
|
||||||
Some(dt) => json!(format_naive_datetime_local(&dt, DT_FMT)),
|
Some(dt) => json!(format_naive_datetime_local(&dt, DT_FMT)),
|
||||||
None => json!("Never"),
|
None => json!(None::<String>),
|
||||||
};
|
};
|
||||||
|
|
||||||
usr["ssoIdentifier"] = json!(sso_u.map(|u| u.identifier.to_string()).unwrap_or(String::new()));
|
usr["ssoIdentifier"] = json!(sso_u.map(|u| u.identifier.to_string()).unwrap_or(String::new()));
|
||||||
@ -376,14 +376,14 @@ async fn get_users_property(users: Vec<(User, Option<SsoUser>)>, conn: &DbConn)
|
|||||||
#[get("/users")]
|
#[get("/users")]
|
||||||
async fn get_users_json(_token: AdminToken, conn: DbConn) -> Json<Value> {
|
async fn get_users_json(_token: AdminToken, conn: DbConn) -> Json<Value> {
|
||||||
let users = User::get_all(&conn).await;
|
let users = User::get_all(&conn).await;
|
||||||
let users_json = get_users_property(users, &conn).await;
|
let users_json = enrich_users_json(users, &conn).await;
|
||||||
Json(Value::Array(users_json))
|
Json(Value::Array(users_json))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/users/overview")]
|
#[get("/users/overview")]
|
||||||
async fn users_overview(_token: AdminToken, conn: DbConn) -> ApiResult<Html<String>> {
|
async fn users_overview(_token: AdminToken, conn: DbConn) -> ApiResult<Html<String>> {
|
||||||
let users = User::get_all(&conn).await;
|
let users = User::get_all(&conn).await;
|
||||||
let users_json = get_users_property(users, &conn).await;
|
let users_json = enrich_users_json(users, &conn).await;
|
||||||
let text = AdminTemplateData::new("admin/users", json!(users_json)).render()?;
|
let text = AdminTemplateData::new("admin/users", json!(users_json)).render()?;
|
||||||
Ok(Html(text))
|
Ok(Html(text))
|
||||||
}
|
}
|
||||||
@ -391,7 +391,7 @@ async fn users_overview(_token: AdminToken, conn: DbConn) -> ApiResult<Html<Stri
|
|||||||
#[get("/users/by-mail/<mail>")]
|
#[get("/users/by-mail/<mail>")]
|
||||||
async fn get_user_by_mail_json(mail: &str, _token: AdminToken, conn: DbConn) -> JsonResult {
|
async fn get_user_by_mail_json(mail: &str, _token: AdminToken, conn: DbConn) -> JsonResult {
|
||||||
if let Some((u, sso)) = SsoUser::find_by_mail(mail, &conn).await {
|
if let Some((u, sso)) = SsoUser::find_by_mail(mail, &conn).await {
|
||||||
let user_json = get_users_property(vec![(u, sso)], &conn).await[0].clone();
|
let user_json = enrich_users_json(vec![(u, sso)], &conn).await[0].clone();
|
||||||
Ok(Json(user_json))
|
Ok(Json(user_json))
|
||||||
} else {
|
} else {
|
||||||
err_code!("User doesn't exist", Status::NotFound.code);
|
err_code!("User doesn't exist", Status::NotFound.code);
|
||||||
@ -402,7 +402,7 @@ async fn get_user_by_mail_json(mail: &str, _token: AdminToken, conn: DbConn) ->
|
|||||||
async fn get_user_json(user_id: UserId, _token: AdminToken, conn: DbConn) -> JsonResult {
|
async fn get_user_json(user_id: UserId, _token: AdminToken, conn: DbConn) -> JsonResult {
|
||||||
let user = get_user_or_404(&user_id, &conn).await?;
|
let user = get_user_or_404(&user_id, &conn).await?;
|
||||||
let sso_user = SsoUser::find_by_uuid(&user_id, &conn).await;
|
let sso_user = SsoUser::find_by_uuid(&user_id, &conn).await;
|
||||||
let user_json = get_users_property(vec![(user, sso_user)], &conn).await[0].clone();
|
let user_json = enrich_users_json(vec![(user, sso_user)], &conn).await[0].clone();
|
||||||
|
|
||||||
Ok(Json(user_json))
|
Ok(Json(user_json))
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,7 +50,13 @@
|
|||||||
<span class="d-block">{{createdAt}}</span>
|
<span class="d-block">{{createdAt}}</span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<span class="d-block">{{lastActive}}</span>
|
<span class="d-block">
|
||||||
|
{{#if lastActive}}
|
||||||
|
{{lastActive}}
|
||||||
|
{{else}}
|
||||||
|
Never
|
||||||
|
{{/if}}
|
||||||
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<span class="d-block">{{cipherCount}}</span>
|
<span class="d-block">{{cipherCount}}</span>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user