use super::super::get::User;
use super::*;
pub type Response = User;
#[get("")]
pub async fn route(
db: web::Data<Database>,
info: web::Path<Info>,
) -> Result<impl Responder, impl ResponseError> {
let response = web::block(move || {
let mut conn = db.get_conn();
conn.transaction(|conn| {
schema::user::table
.select(User::as_select())
.filter(schema::user::id.eq(info.user_id))
.first(conn)
})
})
.await
.unwrap();
let response: Response = match response {
Err(_) => return Err(ErrorCode::NotFound),
Ok(response) => response,
};
Ok(web::Json(response))
}