diff --git a/backend/src/handlers/auth.rs b/backend/src/handlers/auth.rs index 5a9c91f..947f5c9 100644 --- a/backend/src/handlers/auth.rs +++ b/backend/src/handlers/auth.rs @@ -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, +) -> Result)> { + 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, diff --git a/backend/src/router.rs b/backend/src/router.rs index a16fa97..788f298 100644 --- a/backend/src/router.rs +++ b/backend/src/router.rs @@ -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) -> 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) }