From ef0b4eb0fa742f58e404185d7f14071903b4c473 Mon Sep 17 00:00:00 2001 From: gibbz00 Date: Fri, 13 Sep 2024 19:53:41 +0200 Subject: [PATCH 1/2] refactor(ari): extract error to separate module --- arirs/src/error.rs | 25 +++++++++++++++++++++++++ arirs/src/lib.rs | 26 ++------------------------ 2 files changed, 27 insertions(+), 24 deletions(-) create mode 100644 arirs/src/error.rs diff --git a/arirs/src/error.rs b/arirs/src/error.rs new file mode 100644 index 0000000..db9a5ca --- /dev/null +++ b/arirs/src/error.rs @@ -0,0 +1,25 @@ +use thiserror::Error; +use tokio::task::JoinError; +use tokio_tungstenite::tungstenite; + +pub type Result = std::result::Result; + +#[derive(Debug, Error)] +pub enum AriError { + #[error("URL parsing error")] + UrlParseError(#[from] url::ParseError), + #[error("WebSocket error")] + TungsteniteError(#[from] tungstenite::Error), + #[error("HTTP Request error")] + ReqwestError(#[from] reqwest::Error), + #[error("Join Error")] + JoinError(#[from] JoinError), + #[error("Unknown error occurred: {0}")] + Unknown(String), +} + +impl From for AriError { + fn from(err: tungstenite::error::UrlError) -> Self { + AriError::TungsteniteError(err.into()) + } +} diff --git a/arirs/src/lib.rs b/arirs/src/lib.rs index 939858a..e8d4025 100644 --- a/arirs/src/lib.rs +++ b/arirs/src/lib.rs @@ -4,9 +4,6 @@ use channel::{ }; use device::DeviceStateChanged; use serde::{Deserialize, Serialize}; -use thiserror::Error; -use tokio::task::JoinError; -use tokio_tungstenite::tungstenite; pub mod bridge; pub mod channel; @@ -17,27 +14,8 @@ pub mod recording; pub mod rtp_statistics; pub mod variable; -pub type Result = std::result::Result; - -#[derive(Debug, Error)] -pub enum AriError { - #[error("URL parsing error")] - UrlParseError(#[from] url::ParseError), - #[error("WebSocket error")] - TungsteniteError(#[from] tungstenite::Error), - #[error("HTTP Request error")] - ReqwestError(#[from] reqwest::Error), - #[error("Join Error")] - JoinError(#[from] JoinError), - #[error("Unknown error occurred: {0}")] - Unknown(String), -} - -impl From for AriError { - fn from(err: tungstenite::error::UrlError) -> Self { - AriError::TungsteniteError(err.into()) - } -} +mod error; +pub use error::{AriError, Result}; #[derive(Serialize, Deserialize, Debug)] #[serde(tag = "type")] From 0edddafb5e12ca8777875b6f318e08aa5ca63f47 Mon Sep 17 00:00:00 2001 From: gibbz00 Date: Fri, 13 Sep 2024 19:55:29 +0200 Subject: [PATCH 2/2] refactor(ari): extract `Event` to separate module --- arirs/src/event.rs | 20 ++++++++++++++++++++ arirs/src/lib.rs | 25 ++----------------------- 2 files changed, 22 insertions(+), 23 deletions(-) create mode 100644 arirs/src/event.rs diff --git a/arirs/src/event.rs b/arirs/src/event.rs new file mode 100644 index 0000000..43ecf2b --- /dev/null +++ b/arirs/src/event.rs @@ -0,0 +1,20 @@ +use serde::{Deserialize, Serialize}; + +use crate::{channel::*, device::DeviceStateChanged}; + +#[derive(Serialize, Deserialize, Debug)] +#[serde(tag = "type")] +pub enum Event { + StasisStart(StasisStart), + StasisEnd(StasisEnd), + ChannelCreated(ChannelCreated), + ChannelDestroyed(ChannelDestroyed), + ChannelVarset(ChannelVarset), + ChannelHangupRequest(ChannelHangupRequest), + ChannelDialplan(ChannelDialplan), + ChannelStateChange(ChannelStateChange), + ChannelDtmfReceived(ChannelDtmfReceived), + DeviceStateChanged(DeviceStateChanged), + #[serde(other)] + Unknown, +} diff --git a/arirs/src/lib.rs b/arirs/src/lib.rs index e8d4025..94800c1 100644 --- a/arirs/src/lib.rs +++ b/arirs/src/lib.rs @@ -1,10 +1,3 @@ -use channel::{ - ChannelCreated, ChannelDestroyed, ChannelDialplan, ChannelDtmfReceived, ChannelHangupRequest, ChannelStateChange, ChannelVarset, - StasisEnd, StasisStart, -}; -use device::DeviceStateChanged; -use serde::{Deserialize, Serialize}; - pub mod bridge; pub mod channel; pub mod client; @@ -17,19 +10,5 @@ pub mod variable; mod error; pub use error::{AriError, Result}; -#[derive(Serialize, Deserialize, Debug)] -#[serde(tag = "type")] -pub enum Event { - StasisStart(StasisStart), - StasisEnd(StasisEnd), - ChannelCreated(ChannelCreated), - ChannelDestroyed(ChannelDestroyed), - ChannelVarset(ChannelVarset), - ChannelHangupRequest(ChannelHangupRequest), - ChannelDialplan(ChannelDialplan), - ChannelStateChange(ChannelStateChange), - ChannelDtmfReceived(ChannelDtmfReceived), - DeviceStateChanged(DeviceStateChanged), - #[serde(other)] - Unknown, -} +mod event; +pub use event::Event;