From 65d0e35c85800283317c552749fcc5efc6b45cf2 Mon Sep 17 00:00:00 2001 From: kdeng00 Date: Wed, 27 Aug 2025 16:09:10 -0400 Subject: [PATCH] Fixed token code --- src/managers/token_manager.rs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/managers/token_manager.rs b/src/managers/token_manager.rs index 1cfe53b..a539f0e 100644 --- a/src/managers/token_manager.rs +++ b/src/managers/token_manager.rs @@ -2,6 +2,16 @@ use std::default::Default; use crate::models; +mod response { + pub mod token { + #[derive(Debug, serde::Deserialize, serde::Serialize)] + pub struct Response { + pub message: String, + pub data: Vec, + } + } +} + pub struct TokenManager { pub user: icarus_models::user::User, pub api: models::api::Api, @@ -43,9 +53,15 @@ impl TokenManager { match response.status() { reqwest::StatusCode::OK => { // on success, parse our JSON to an APIResponse - match response.json::().await { - Ok(parsed) => { - token = parsed; + match response.json::().await { + Ok(response) => { + let login_result = &response.data[0]; + token.user_id = login_result.id; + token.username = login_result.username.clone(); + token.token = login_result.token.clone(); + token.token_type = login_result.token_type.clone(); + token.expiration = login_result.expiration; + token.message = response.message; } Err(_) => println!("Hm, the response didn't match the shape we expected."), };