use crate::models::user::User; use crate::request::error::ApiError; use actix_web::{get, http::header::ContentType, web, HttpResponse, Responder}; use gamenight_database::{DbPool, GetConnection}; use serde_json; use uuid::Uuid; use super::authorization::AuthUser; impl From for User { fn from(value: gamenight_database::user::User) -> Self { Self { id: value.id.to_string(), username: value.username, email: None, } } } #[get("/user/{userId}")] pub async fn get_user( pool: web::Data, _user: AuthUser, user_id: web::Path, ) -> Result { let mut conn = pool.get_conn(); let user = gamenight_database::user::get_user( &mut conn, user_id.into_inner() )?; Ok(HttpResponse::Ok() .content_type(ContentType::json()) .body(serde_json::to_string(&user)?)) }