diff --git a/src/anonymous_clients/anonymous_client_connection.rs b/src/anonymous_clients/anonymous_client_connection.rs index 6dff0c8..22e25bd 100644 --- a/src/anonymous_clients/anonymous_client_connection.rs +++ b/src/anonymous_clients/anonymous_client_connection.rs @@ -360,8 +360,10 @@ impl AnonymousClientConnection { let target_rho = match rho_manager::get_rho_con_for_user(receiver_id).await { Some(rho) => rho, _ => { - self.send_error_response(&cv.get_id(), CommunicationType::error) - .await; + let error_cv = CommunicationValue::new(CommunicationType::error_not_found) + .with_id(cv.get_id()) + .add_data(DataTypes::receiver_id, DataValue::Number(receiver_id)); + self.send_message(&error_cv).await; return; } }; @@ -394,13 +396,13 @@ impl AnonymousClientConnection { DataValue::Str(id_str) => match Uuid::parse_str(&id_str.to_string()) { Ok(id) => id, Err(_) => { - self.send_error_response(&cv.get_id(), CommunicationType::error) + self.send_error_response(&cv.get_id(), CommunicationType::error_invalid_call_id) .await; return; } }, _ => { - self.send_error_response(&cv.get_id(), CommunicationType::error) + self.send_error_response(&cv.get_id(), CommunicationType::error_no_call_id) .await; return; } @@ -413,8 +415,10 @@ impl AnonymousClientConnection { .add_data(DataTypes::call_token, DataValue::Str(token.to_string())); self.send_message(&response).await; } else { - self.send_error_response(&cv.get_id(), CommunicationType::error) - .await; + let error_cv = CommunicationValue::new(CommunicationType::error_no_call_id) + .with_id(cv.get_id()) + .add_data(DataTypes::call_id, DataValue::Str(call_id.to_string())); + self.send_message(&error_cv).await; return; } } diff --git a/src/rho/app_connection.rs b/src/rho/app_connection.rs index 177d5b4..973a9de 100644 --- a/src/rho/app_connection.rs +++ b/src/rho/app_connection.rs @@ -52,7 +52,7 @@ impl AppConnection { tokio::time::sleep(Duration::from_millis(50)).await; if self_clone2.get_rho_connection().await.is_none() { self_clone2 - .send_error_response(0, CommunicationType::error) + .send_error_response(0, CommunicationType::error_no_iota) .await; } }); @@ -293,8 +293,10 @@ impl AppConnection { msg_type, msg_id ); - self.send_error_response(msg_id, CommunicationType::error) - .await; + let error_cv = CommunicationValue::new(CommunicationType::error_no_iota) + .with_id(msg_id) + .add_data(DataTypes::user_id, DataValue::Number(sender_user_id as i64)); + self.send_message(&error_cv).await; } } diff --git a/src/rho/client_connection.rs b/src/rho/client_connection.rs index ff8c215..10669a5 100644 --- a/src/rho/client_connection.rs +++ b/src/rho/client_connection.rs @@ -55,7 +55,7 @@ impl ClientConnection { tokio::time::sleep(Duration::from_millis(50)).await; if self_clone2.get_rho_connection().await.is_none() { self_clone2 - .send_error_response(0, CommunicationType::error) + .send_error_response(0, CommunicationType::error_no_iota) .await; } }); @@ -287,11 +287,13 @@ impl ClientConnection { } // Find target RhoConnection - let target_rho = match rho_manager::get_rho_con_for_user(receiver_id).await { + let target_rho = match rho_manager::get_rho_con_for_user(receiver_id).await { Some(rho) => rho, _ => { - self.send_error_response(cv.get_id(), CommunicationType::error) - .await; + let error_cv = CommunicationValue::new(CommunicationType::error_not_found) + .with_id(cv.get_id()) + .add_data(DataTypes::receiver_id, DataValue::Number(receiver_id)); + self.send_message(&error_cv).await; return; } }; @@ -344,8 +346,10 @@ impl ClientConnection { .add_data(DataTypes::call_token, DataValue::Str(token)); self.send_message(&response).await; } else { - self.send_error_response(cv.get_id(), CommunicationType::error) - .await; + let error_cv = CommunicationValue::new(CommunicationType::error_no_call_id) + .with_id(cv.get_id()) + .add_data(DataTypes::call_id, DataValue::Str(call_id.to_string())); + self.send_message(&error_cv).await; return; } } @@ -356,13 +360,13 @@ impl ClientConnection { DataValue::Str(id_str) => match Uuid::parse_str(id_str.as_str()) { Ok(id) => id, Err(_) => { - self.send_error_response(cv.get_id(), CommunicationType::error) + self.send_error_response(cv.get_id(), CommunicationType::error_invalid_call_id) .await; return; } }, _ => { - self.send_error_response(cv.get_id(), CommunicationType::error) + self.send_error_response(cv.get_id(), CommunicationType::error_no_call_id) .await; return; } @@ -384,13 +388,17 @@ impl ClientConnection { .add_data(DataTypes::user_ids, DataValue::Array(user_ids)); self.send_message(&response).await; } else { - self.send_error_response(cv.get_id(), CommunicationType::error) - .await; + let error_cv = CommunicationValue::new(CommunicationType::error_invalid_user_id) + .with_id(cv.get_id()) + .add_data(DataTypes::user_id, DataValue::Number(user_id as i64)); + self.send_message(&error_cv).await; return; } } else { - self.send_error_response(cv.get_id(), CommunicationType::error) - .await; + let error_cv = CommunicationValue::new(CommunicationType::error_not_found) + .with_id(cv.get_id()) + .add_data(DataTypes::call_id, DataValue::Str(call_id.to_string())); + self.send_message(&error_cv).await; return; } } @@ -488,8 +496,11 @@ impl ClientConnection { } } } - self.send_error_response(cv.get_id(), CommunicationType::error) - .await; + let path_data = cv.get_data(DataTypes::path).clone(); + let error_cv = CommunicationValue::new(CommunicationType::error_not_found) + .with_id(cv.get_id()) + .add_data(DataTypes::path, path_data); + self.send_message(&error_cv).await; } /// Forward message to Iota @@ -599,8 +610,10 @@ impl ClientConnection { msg_type, msg_id ); - self.send_error_response(msg_id, CommunicationType::error) - .await; + let error_cv = CommunicationValue::new(CommunicationType::error_no_iota) + .with_id(msg_id) + .add_data(DataTypes::user_id, DataValue::Number(sender_user_id as i64)); + self.send_message(&error_cv).await; } } diff --git a/src/rho/connection.rs b/src/rho/connection.rs index bb668f8..89da4c4 100755 --- a/src/rho/connection.rs +++ b/src/rho/connection.rs @@ -113,8 +113,10 @@ impl GeneralConnection { log_cv_out!(success_msg); let _ = self.sender.send(&success_msg).await; } else { - let err_msg = - CommunicationValue::new(CommunicationType::error).with_id(cv.get_id()); + let err_msg = CommunicationValue::new( + CommunicationType::error_invalid_omikron_id, + ) + .with_id(cv.get_id()); let _ = self.sender.send(&err_msg).await; } } @@ -356,7 +358,7 @@ impl GeneralConnection { expected, response ); - let err_msg = CommunicationValue::new(CommunicationType::error) + let err_msg = CommunicationValue::new(CommunicationType::error_invalid_challenge) .with_id(cv.get_id()) .add_data( DataTypes::message,