16 lines
468 B
Rust
16 lines
468 B
Rust
use axum::{extract::State, http::HeaderMap, routing::get, Json, Router};
|
|
|
|
use crate::{auth::get_user_from_header, model::User, AppState};
|
|
|
|
pub fn routes() -> Router<AppState> {
|
|
Router::new().route("/user", get(get_current_user))
|
|
}
|
|
|
|
pub async fn get_current_user<'a>(
|
|
State(state): State<AppState>,
|
|
headers: HeaderMap,
|
|
) -> Result<Json<User>, crate::Error> {
|
|
let (_roles, user) = get_user_from_header(&state.pool, &headers).await?;
|
|
Ok(Json(user))
|
|
}
|