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))
}