From da7df3bb667d9a7ec112f49e86777339abc79c61 Mon Sep 17 00:00:00 2001 From: phoenix Date: Thu, 11 Jun 2026 17:06:22 -0400 Subject: [PATCH] The endpoint is working --- src/callers/login.rs | 10 +++++++++- src/callers/register.rs | 2 +- src/repo/service.rs | 17 ++++++++++++++--- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/callers/login.rs b/src/callers/login.rs index 01bb6c4..45dca0e 100644 --- a/src/callers/login.rs +++ b/src/callers/login.rs @@ -236,10 +236,12 @@ pub async fn service_user_login( }), ) } else { + println!("Good to create"); let service_user = match repo::service::get_with_username(&pool, &payload.username).await { Ok(service_user) => service_user, - Err(_err) => { + Err(err) => { + eprintln!("Error: {err:?}"); return ( axum::http::StatusCode::INTERNAL_SERVER_ERROR, axum::Json(response::LoginResponse { @@ -249,12 +251,16 @@ pub async fn service_user_login( ); } }; + println!("Service user: {service_user:?}"); + println!("Payload: {:?}", payload.passphrase); let hashed_password = service_user.passphrase.clone(); + println!("Hash password: {hashed_password:?}"); match hashing::verify_password(&payload.passphrase, hashed_password) { Ok(matches) => { if matches { // Create token + println!("Creating token"); let key = textsender_models::envy::environment::get_secret_key() .await .value; @@ -288,6 +294,7 @@ pub async fn service_user_login( }), ) } else { + eprintln!("Invalid token"); ( axum::http::StatusCode::INTERNAL_SERVER_ERROR, axum::Json(response::LoginResponse { @@ -297,6 +304,7 @@ pub async fn service_user_login( ) } } else { + eprintln!("No match"); ( axum::http::StatusCode::INTERNAL_SERVER_ERROR, axum::Json(response::LoginResponse { diff --git a/src/callers/register.rs b/src/callers/register.rs index 8344803..3474d75 100644 --- a/src/callers/register.rs +++ b/src/callers/register.rs @@ -252,7 +252,7 @@ pub async fn register_service_user( salt.id = repo::salt::insert(&pool, &salt).await.unwrap(); let mut service_user = textsender_models::user::ServiceUser { username: payload.username.clone(), - passphrase: hashing::hash_password(&payload.username, &generate_salt) + passphrase: hashing::hash_password(&payload.passphrase, &generate_salt) .unwrap(), salt_id: salt.id, ..Default::default() diff --git a/src/repo/service.rs b/src/repo/service.rs index dfea463..678b560 100644 --- a/src/repo/service.rs +++ b/src/repo/service.rs @@ -54,17 +54,28 @@ pub async fn get_with_username( username: &String, ) -> Result { match sqlx::query( - r#"SELECT id, username, passphrase, created, last_login FROM "service_user" WHERE username = $1"# + r#"SELECT id, username, passphrase, created, last_login, salt_id FROM "service_user" WHERE username = $1"# ).bind(username) .fetch_one(pool).await { Ok(row) => { + let last_login: Option = match row.try_get("last_login") { + Ok(login) => { + Some(login) + } + Err(err) => { + eprintln!("Error: {err:?}"); + None + } + }; + let service_user = textsender_models::user::ServiceUser { id: row.try_get("id")?, username: row.try_get("username")?, passphrase: row.try_get("passphrase")?, created: row.try_get("created")?, - last_login: row.try_get("last_login")?, - salt_id: row.try_get("salt_id")? + // last_login: + salt_id: row.try_get("salt_id")?, + ..Default::default() }; Ok(service_user)