user-service 0.4.1

A user management microservice.
Documentation
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))
}