Skip to content
Snippets Groups Projects
Commit 8ae799a7 authored by Nils Mittler's avatar Nils Mittler
Browse files

Add function to fetch user by email address

parent 1ba8275d
No related branches found
No related tags found
No related merge requests found
...@@ -33,6 +33,7 @@ pub fn routes() -> Vec<Route> { ...@@ -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< ...@@ -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?;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment