Get currnet user function
This commit is contained in:
@@ -5,7 +5,7 @@ use argon2::{
|
||||
password_hash::{SaltString, rand_core::OsRng},
|
||||
};
|
||||
use axum::{
|
||||
Json,
|
||||
Extension, Json,
|
||||
extract::State,
|
||||
http::{Response, StatusCode, header},
|
||||
response::IntoResponse,
|
||||
@@ -155,6 +155,20 @@ pub async fn logout() -> Result<impl IntoResponse, (StatusCode, Json<serde_json:
|
||||
Ok(response)
|
||||
}
|
||||
|
||||
pub async fn get_current_user(
|
||||
Extension(state): Extension<LoginModel>,
|
||||
) -> Result<impl IntoResponse, (StatusCode, Json<serde_json::Value>)> {
|
||||
let response = json!({
|
||||
"status": "success",
|
||||
"data": json!({
|
||||
"first_name": filter_users(&state).first_name,
|
||||
"last_name": filter_users(&state).last_name
|
||||
})
|
||||
});
|
||||
|
||||
Ok(Json(response))
|
||||
}
|
||||
|
||||
fn filter_users(user: &LoginModel) -> FilteredUser {
|
||||
FilteredUser {
|
||||
id: user.id,
|
||||
|
||||
@@ -8,7 +8,7 @@ use axum::{
|
||||
use crate::{
|
||||
AppState,
|
||||
handlers::{
|
||||
auth::{create_user, login, logout},
|
||||
auth::{create_user, get_current_user, login, logout},
|
||||
ticket::{create_ticket, delete_ticket, edit_ticket, get_ticket_by_id, get_tickets},
|
||||
},
|
||||
};
|
||||
@@ -26,5 +26,6 @@ pub fn create_router(state: Arc<AppState>) -> Router {
|
||||
.route("/api/register", post(create_user))
|
||||
.route("/api/login", post(login))
|
||||
.route("/api/logout", get(logout))
|
||||
.route("/api/current_user", get(get_current_user))
|
||||
.with_state(state)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user