From be6b933765b44fe3d4d7bea5bca76b09d491dd46 Mon Sep 17 00:00:00 2001 From: phoenix Date: Thu, 11 Jun 2026 16:27:44 -0400 Subject: [PATCH] Fixing service registration that has no id --- src/callers/register.rs | 3 ++- src/repo/service.rs | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/callers/register.rs b/src/callers/register.rs index e602e49..8344803 100644 --- a/src/callers/register.rs +++ b/src/callers/register.rs @@ -261,9 +261,10 @@ pub async fn register_service_user( println!("Creating user"); match repo::service::insert(&pool, &service_user).await { - Ok(created) => { + Ok((service_user_id, created)) => { resp.message = String::from(super::messages::SUCCESSFUL_MESSAGE); service_user.created = Some(created); + service_user.id = service_user_id; resp.data.push(service_user); (axum::http::StatusCode::CREATED, axum::Json(resp)) } diff --git a/src/repo/service.rs b/src/repo/service.rs index e237100..dfea463 100644 --- a/src/repo/service.rs +++ b/src/repo/service.rs @@ -111,11 +111,11 @@ pub async fn update_last_login( pub async fn insert( pool: &sqlx::PgPool, service_user: &textsender_models::user::ServiceUser, -) -> Result { +) -> Result<(uuid::Uuid, time::OffsetDateTime), sqlx::Error> { match sqlx::query( r#"INSERT INTO "service_user" (username, passphrase, salt_id) VALUES ($1, $2, $3) - RETURNING created + RETURNING id, created "#, ) .bind(&service_user.username) @@ -125,8 +125,9 @@ pub async fn insert( .await { Ok(row) => { + let id: uuid::Uuid = row.try_get("id")?; let created: time::OffsetDateTime = row.try_get("created")?; - Ok(created) + Ok((id, created)) } Err(err) => Err(err), }