Merge branch 'mittler-works-search_user_by_email'

This commit is contained in:
Daniel García 2023-02-21 21:37:28 +01:00
commit 06e14fea55
No known key found for this signature in database
GPG key ID: FC8A7D14C3CD543A

View file

@ -33,6 +33,7 @@ pub fn routes() -> Vec<Route> {
routes![ routes![
get_users_json, get_users_json,
get_user_json, get_user_json,
get_user_by_mail_json,
post_admin_login, post_admin_login,
admin_page, admin_page,
invite_user, invite_user,
@ -331,6 +332,18 @@ async fn users_overview(_token: AdminToken, mut conn: DbConn) -> ApiResult<Html<
Ok(Html(text)) Ok(Html(text))
} }
#[get("/users/by-mail/<mail>")]
async fn get_user_by_mail_json(mail: String, _token: AdminToken, mut conn: DbConn) -> JsonResult {
if let Some(u) = User::find_by_mail(&mail, &mut conn).await {
let mut usr = u.to_json(&mut conn).await;
usr["UserEnabled"] = json!(u.enabled);
usr["CreatedAt"] = json!(format_naive_datetime_local(&u.created_at, DT_FMT));
Ok(Json(usr))
} else {
err_code!("User doesn't exist", Status::NotFound.code);
}
}
#[get("/users/<uuid>")] #[get("/users/<uuid>")]
async fn get_user_json(uuid: String, _token: AdminToken, mut conn: DbConn) -> JsonResult { async fn get_user_json(uuid: String, _token: AdminToken, mut conn: DbConn) -> JsonResult {
let u = get_user_or_404(&uuid, &mut conn).await?; let u = get_user_or_404(&uuid, &mut conn).await?;