From f70995ad05828d704ebaafefb6db362130677294 Mon Sep 17 00:00:00 2001 From: Zack Fu Zi Xiang Date: Mon, 4 Mar 2024 20:55:57 +0800 Subject: [PATCH] chore: better error handling for accepting invitation --- libs/client-api-test-util/src/test_client.rs | 3 +++ libs/database/src/workspace.rs | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/libs/client-api-test-util/src/test_client.rs b/libs/client-api-test-util/src/test_client.rs index 91b18992..9b30672b 100644 --- a/libs/client-api-test-util/src/test_client.rs +++ b/libs/client-api-test-util/src/test_client.rs @@ -204,6 +204,9 @@ impl TestClient { .api_client .accept_workspace_invitation(target_invitation.invite_id.to_string().as_str()) .await + .unwrap(); + + Ok(()) } pub async fn try_remove_workspace_member( diff --git a/libs/database/src/workspace.rs b/libs/database/src/workspace.rs index 1af6e715..2e288aa5 100644 --- a/libs/database/src/workspace.rs +++ b/libs/database/src/workspace.rs @@ -286,8 +286,20 @@ pub async fn update_workspace_invitation_set_invited( ) .execute(txn.deref_mut()) .await?; - assert_eq!(res.rows_affected(), 1); - Ok(()) + match res.rows_affected() { + 0 => Err(AppError::RecordNotFound(format!( + "Invitation not found, invitee_uuid: {}, invite_id: {}", + invitee_uuid, invite_id + ))), + 1 => Ok(()), + x => Err( + anyhow::anyhow!( + "Expected 1 row to be affected, but {} rows were affected", + x + ) + .into(), + ), + } } pub async fn get_invitation_by_id(